1. A computer program product, tangibly embodied in a non-transitory computer-readable medium, the computer program product being operable to cause data processing apparatus to perform operations comprising: receiving input characterizing an application definition at designtime, the application definition comprising a designtime entity and a configuration of properties of the designtime entity; determining whether the designtime entity is to be compiled by a first generator or a second generator, the first generator supporting compilation of multiple types of designtime entities and the second generator supporting compilation of a specific type of designtime entity; receiving input characterizing the second generator and an association of the second generator with the designtime entity; registering the second generator with the first generator; wherein determining whether the designtime entity is to be compiled by the first generator or the second generator comprises iterating through a table of registered generators and determining whether the designtime entity is associated with the second generator, and the determining is performed by the first generator and the operations further comprise the first generator calling the second generator to compile the designtime entity if the second generator is to be used; and generating a runtime version of the designtime entity, the runtime version generated with the second generator if the second generator is to be used or, otherwise, generated with the first generator.