Atomic data abstractions in a distributed collaborative editing system | Synapse