1. A method for manipulating instance data described by a base model, comprising: receiving a ViewType, a root object representing an object of the base model, and an operation; determining whether the ViewType and the root object are compatible; and when the ViewType and the root object are compatible, applying the operation to the instance data of the base model while using the ViewType to traverse the instance data.