1. A method for facilitating synchronization of editable data on two or more user computers, the method comprising: assigning an index to one or more objects maintained in a data structure, wherein each index provides an address for an object within the data structure and the object representing data on two or more user computers; detecting at least one type of modification to the data initiated on one user computer; updating one or more objects in the data structure based on the modification responsive to amount of the modification to the data exceeding a threshold value; creating a representation of the detected type of modification, wherein the representation comprises a reference to one or more indexes assigned to the one or more updated objects representing a modified data structure, a modified data structure received from a computer server including an indication to replace the data structure maintained on the user computers by the modified data structure, the computer server adapted to modify the data structure by assigning an index to each object not previously assigned with an index; transmitting the representation for generating a corresponding modification to the data on other user computers; and generating the corresponding modification to the data on the other user computers using the representation by: displaying the data and modifications to the data on each of the two or more user computers, the modification indicated on the display on each of the user computers displaying a caret on each user computer displaying the editable data and storing a position of the caret within the editable data, wherein the caret is operable to move to different positions within the editable data; and for each of the user computers, responsive to generating the corresponding modification to the data, displaying the caret at the stored position.