1. An apparatus for providing a user interface in an on-demand software service environment, the apparatus comprising: a network interface; and a processor system comprising at least one processor, the processor system configured for: receiving, via the network interface, a component request from a first client device; determining a first component definition corresponding to the component request includes a second component definition, the second component definition being at a lower level of a component definition hierarchy than the first component definition, the first component definition being associated with a first component type, and the second component definition being associated with a second component type, the first component definition and the second component definition being associated with one or more components of a user interface; determining access to the second component definition is allowed; locating class-level definition source code for the first component definition upon the determination the access to the second component definition is allowed; identifying the first component definition within the source code; determining a language of the first component definition; determining a language of the second component definition; selecting a parser according to the language of the first component definition; parsing the source code to create the first component definition; storing the first component definition in a first registry associated with the first component type and the second component definition in a second registry associated with the second component type, wherein the first registry is selected for storing the first component definition based on a first reference to the first registry in a master registry indicating the first component type and the language of the first component definition, and the second registry is selected for storing the second component definition based on a second reference to the second registry in the master registry indicating the second component type and the language of the second component definition; and transmitting, to the first client device, an intermediate representation of the requested component, the intermediate representation allowing the first client device to create an instance of the requested component.