Techniques that facilitate development of applications that may be executed by a client program. The client program may be a modeling framework that may be hosted by a browser or other client-side program. A programming language (referred to as “GmlScript”) is provided for developing the applications. In one embodiment, the programming language provides various features such as object-oriented programming, client-side scripting, self-contained components, aspect-oriented programming, namespaces and self-contained components (kits), classes, methods, and properties, prototypes for multiple inheritance, events and listeners for implementing dynamics and constraints, transactions for ensuring model consistency and for undo / redo operations, objects persistency, dynamic loading, introspection, self documentation, preprocessing pragmas, and other features.