1. A shared state manager (SSM) for collaboration, said shared state manager comprising: a storage device for storing a shared state object (SSO) comprising an abstract representation of a shared state of data which is shared by a plurality of clients which are authorized to edit the data, the abstract representation identifying the plurality of clients and their privileges; an updating module for updating the shared state of data by updating the abstract representation of the shared state based on a request to edit said data made by a client in the plurality of clients; and a notifying module for, upon said updating said shared state, notifying another client in the plurality of clients of said updated shared state, wherein the updating module separates formatting information and content in the shared state of data, and the abstract representation comprises the formatting information, the content, and semantic information which describes a meaning of the content, and wherein the abstract representation comprises an abstract tree representation, and the semantic information is associated with a subtree of the shared state of data and is inherited by subnodes within the subtree.