1. A method for receiving objects from a server, comprising: receiving at a client an object definition from the server, said received object definition defining an object of a data store associated with a server; receiving at the client separate from the received object definition an array of elements from the server wherein each of the received elements in the received array includes data representing the object associated with a data store, and wherein each of the received elements does not include object definition data; instantiating, at the client, a plurality of objects based on the received array and based on the received object definition without again receiving the received object definition from the server, each of the plurality of objects corresponding to one of the elements in the received array wherein the objects are accessed via a web application executing on the client; wherein instantiating one of the plurality of objects comprises: creating a new object on the client based on the received object definition; populating the new object with data from one or more elements in the received array; expanding the new object by applying business logic contained in the new object to the populated data, said business logic generating additional data not present in the received array; and populating the new object with the additional data, wherein expanding the new object comprises assigning by the client a first value from the received array to a first property of the new object and assigning a second value to a second property of the new object, wherein the second value is a function of at least one of a plurality of properties of the object, a defined constant, and a derived value from some other procedure executed by the client.