Override default copy, paste, undo and redo behaviour

You say that you do not want the UndoManager to know about the “Roles” property. So it seems odd to expect the model to know not to copy that property when copying a node data object.

But if that is what you want, you can supply a function that does what you want as the Model | GoJS API