1. A computer method of extending metaclasses in a metamodel, comprising the steps of: defining an extension of a metaclass in a metamodel, an instance of the metamodel being a user model having one or more model elements; applying the defined extension to one of the model elements of the user model, wherein the model element maintains a list of annotations to track and manage applied stereotypes; and during run time, dynamically (i) creating a metamodel object representing the defined extension such that requirement for intermediate code generation to extend the metamodel is removed, and (ii) linking the created metamodel object to the model element, including adding the created metamodel object as an annotation in the model element's list of annotations replacing direct references to stereotypes extending the metamodel.