Changed the representation of roles in the model to a structure (instead of a string), containing two fields:
v: contains the string value the original model used to have.
h: a structure where the keys are old values of v.
This change was performed to allow merging models.
By maintaining history of roles, one can determine if one editing operation is a predecessor or a successor of another.