Scaling Up Community-Driven Development: Theoretical Underpinnings and Program Design Implications