19. A system having at least one computer readable storage medium storing computer executable instructions for using customizable data objects comprising: a first module that communicates with a plurality of entity view classes generated based on a set of properties of an entity, each entity view class including at least one property of the entity, wherein each of the plurality of entity view classes include a property or properties of the entity different from other entity view classes such that the plurality of entity view classes provide different views of and permit interaction with the same entity; a second module that enables programming against each of the plurality of entity view classes, but allows (a) only those properties included in the respective entity view class to be seen and modified, wherein modifying a property results in a modification of the definition of the entity, and (b) switching between the plurality of entity view classes for different views of the entity; and an entity data buffer containing data associated with the set of properties of the entity upon which the first and second modules rely to obtain data associated with the set of properties of the entity.
19. A system having at least one computer readable storage medium storing computer executable instructions for using customizable data objects comprising: a first module that communicates with a plurality of entity view classes generated based on a set of properties of an entity, each entity view class including at least one property of the entity, wherein each of the plurality of entity view classes include a property or properties of the entity different from other entity view classes such that the plurality of entity view classes provide different views of and permit interaction with the same entity; a second module that enables programming against each of the plurality of entity view classes, but allows (a) only those properties included in the respective entity view class to be seen and modified, wherein modifying a property results in a modification of the definition of the entity, and (b) switching between the plurality of entity view classes for different views of the entity; and an entity data buffer containing data associated with the set of properties of the entity upon which the first and second modules rely to obtain data associated with the set of properties of the entity. 20. The system of claim 19 further comprising: a module that enables using property patterns to add software capability that responds to changes to data in each entity view class or responds to changes to the entity data buffer containing data associated with the set of properties of the entity; and a module for having particular data associated with the set of properties not be loaded if no property patterns reference properties with which the particular data is associated.