1. A method for transforming operations on an attribute of data, the data being updated by multiple devices having a local copy of the data, the method comprising: applying at a first device a first operation to a first copy of the data and sending the first operation to a second device, the first operation having a first operator and a first range; applying at the second device a second operation to a second copy of the data and sending the second operation to the first device, the second operation having a second operator and a second range; when the second device did not apply the first operation before applying the second operation, transforming at the first device the second operation to resolve any conflict with the first operation and applying the transformed second operation to the first copy of the data after the first operation has been applied; and when the first device did not apply the second operation before applying the first operation, transforming at the second device the first operation to resolve any conflict with the second operation and applying the transformed first operation to the second copy of the data after the second operation has been applied, wherein the transforming ensures that after applying the transformed operations the first copy and the second copy of the data are consistent.