1. A computer-implemented method for customizing a software application, comprising: providing to a customer a standard set of components for the software application, the standard set of components being created and stored by a developer and comprising visual application components, business logic components, and configuration components; identifying a selected set of components from the standard set of components based on selections made by the customer; providing to the customer at least one delta object tracking the differences between the standard set of components and the selected set of components, wherein the at least one delta object is stored by the customer in a customer namespace database; and forming a customized application program by combining the at least one delta object stored by the customer with the standard set of components stored by the developer, wherein the customized application program is capable of performing at least one task for an end user.