1. A computer-readable medium having computer-executable instructions for synchronizing data that is associated with a computer-generated document and that is shared across data consumers, comprising: storing structured data items that are associated with a document in a data store, wherein the data store is separate from the document; initiating a change to a structured data item within the data store by a first data consumer; determining when there are other data consumers that are interested in the change to the structured data item; notifying the other data consumers of the change, wherein the other data consumers may perform at least one of: accepting the change; rejecting the change; and initiating a side-effect change as a result of the original change; and committing the change to the data store when the change is accepted and rolling back the data store to a state before a time when the change was initiated when the change is rejected.