1. A method of maintaining data in an object oriented programming environment comprising: defining a set of persistent data entities each having a predetermined level of abstraction and scope; and defining a set of related data entities having a hierarchical plurality of levels of abstraction such that the scope identified for data entities at a higher level of abstraction encompasses the scope of those related data entities at a lower level of abstraction, said set of related data entities including a plurality of related data entities at a common level of abstraction.