1. A method for synchronizing multiple versions of an object, comprising: receiving a first object; assigning the first object a unique identifier; and creating a history graph for the first object having a node representing the unique identifier of the first object.