1. A method for facilitating synchronization of data on two or more user computers, the data being maintained in a data structure as objects, the method comprising: assigning an index to one or more objects maintained in the data structure, wherein each index provides an address for an object within the data structure; detecting at least one modification to the data, wherein said modification is initiated on a user computer; determining that at least one type of modification for the detected modification to the data comprises changing the data by more than a threshold amount of data; updating one or more objects in the data structure based on the modification and the determined type of the modification; creating a representation of the at least one modification, wherein the representation comprises a reference to one or more indexes assigned to the one or more updated objects and a reference to the determined type of modification, wherein creating the representation comprises: retrieving a copy of the data structure maintaining the data on the user computer at which the modification was detected and initiated; transmitting the copy of data structure to a server; receiving a modified data structure from the server at the user computer at which the modification was detected, wherein the server modified the copy of the data structure by assigning an index to each object that was not previously assigned an index; replacing the copy of the data structure transmitted to the server with the modified data structure; transmitting a copy of the modified data structure; and indicating in the representation that the modified data structure is to replace the data structure maintaining the data on the other user computers; and transmitting the representation for generating a corresponding modification to the data on other user computers.