1. A computer-implemented method for customizing a computer system, the method comprising: receiving customization information for an extension for one or more computer systems, with each computer system being associated with one or more programming models; accessing customization process information associated with the customization information for the extension and associated with one or more programming templates, with each programming template being associated with a programming model; accessing one of the one or more programming templates; and generating one or more customization objects for the programming model associated with the accessed programming template using the accessed customization process information and the accessed programming template.