Integrating the Top-down and Bottom-up Controls of Community Assembly