A method of programming a controller that includes a memory for storing a controller logic and a processor operatively coupled to the memory for executing the controller logic stored in the memory to control operation of a building component, the method comprising: using a programming tool to build the controller logic that utilizes sub-structures organized within a hierarchal tree, the sub-structures including one or more folders with one or more function blocks within at least some of the one or more folders and one or more links that logically link one or more of the function blocks; downloading the controller logic to the memory of the controller including the sub-structures organized within the hierarchal tree including the one or more function blocks and the one or more links that logically link one or more of the function blocks; the processor of the controller executing the controller logic stored in the memory of the controller to control operation of the building component; subsequently using the programming tool to update one or more of the sub-structures including one or more of the function blocks and/or one or more links that logically link one or more of the function blocks of the controller logic, resulting in an updated controller logic; the programming tool flagging the function blocks and/or the one or more links of the controller logic that have been updated using the programming tool; the programming tool downloading the one or more flagged function blocks and/or one or more flagged links to the memory of the controller while not downloading the one or more function blocks and/or the one or more links that were not flagged by the programming tool, wherein the one or more of the function blocks and/or the one or more links that were not flagged by the programming tool and stored in the memory, in combination with the one or more flagged function blocks and/or the one or more flagged links downloaded to the memory of the controller, represent the updated controller logic in the memory of the controller; and the processor of the controller executing the updated controller logic stored in the memory of the controller to control operation of the building component. using a programming tool to build the controller logic that utilizes sub-structures organized within a hierarchal tree, the sub-structures including one or more folders with one or more function blocks within at least some of the one or more folders and one or more links that logically link one or more of the function blocks; downloading the controller logic to the memory of the controller including the sub-structures organized within the hierarchal tree including the one or more function blocks and the one or more links that logically link one or more of the function blocks; the processor of the controller executing the controller logic stored in the memory of the controller to control operation of the building component; subsequently using the programming tool to update one or more of the sub-structures including one or more of the function blocks and/or one or more links that logically link one or more of the function blocks of the controller logic, resulting in an updated controller logic; the programming tool flagging the function blocks and/or the one or more links of the controller logic that have been updated using the programming tool; the programming tool downloading the one or more flagged function blocks and/or one or more flagged links to the memory of the controller while not downloading the one or more function blocks and/or the one or more links that were not flagged by the programming tool, wherein the one or more of the function blocks and/or the one or more links that were not flagged by the programming tool and stored in the memory, in combination with the one or more flagged function blocks and/or the one or more flagged links downloaded to the memory of the controller, represent the updated controller logic in the memory of the controller; and the processor of the controller executing the updated controller logic stored in the memory of the controller to control operation of the building component.