1. A computer-implemented method for updating and distributing data objects among multiple client applications, comprising: receiving at a processing platform object data for an object from a first application instance of an application engine, wherein the object data reflects a change to a state of the object based on action of the first application instance; updating a data structure for the object in a database using a processing system at the processing platform based on the received object data; determining with the processing system whether a transformation policy is applicable to the object and, if so, modifying data associated with the object with the processing system at the processing platform according to the transformation policy; identifying with the processing system application instances that should receive updated object data for the object based on stored information identifying clients that have agreed to share updated object data and based on stored information identifying types of updates that clients are to receive; and communicating updated object data to the application instances that should receive updated object data according to stored preferences associated with each the application instances.