1. A method of representing commands of a user interface of an application comprising: receiving one or more command descriptions for one or more commands, each of said one or more command descriptions having one or more properties and representing an instance of one of the commands; receiving one or more command group descriptions for one or more command groups, each of said one or more command group descriptions having one or more properties, representing an instance of one of said command groups at a level in a group hierarchy, and specifying one or more group members, each of said one or more group members representing a derived instance of one of said commands or a derived instance of one of said command groups, properties of each derived instance of a command and each derived instance of a command group inheriting properties from one or more ancestor instances; storing a first derived instance of a first command of the one or more commands or of a first command group of the one or more command groups in metadata attributes in a command registry; deriving a second derived instance of a second command of the one or more commands or of a second command group of the one or more command groups using one or more processing units; not storing the second derived instance in the metadata attributes in the command registry; and maintaining the second derived instance in a component that requests creation of the second derived instance.
3. The method of claim 1 , wherein a command group instance includes a third derived instance of a command having a first property with a first value and an ancestor of said third instance is a fourth instance of said command having a second property with a second value, said third instance inheriting said second property with said second value from said fourth instance.