We have the same with a project tree with the hierarchy of all objects. In terms of topology we have deleting objects, moving and copying on the editor side.
Our changeset has a scope for multiple operations (example float values dragging, node dragging, deleting lots of objects).
Basically:
`Changeset changeSet(pClient, "Undo Message")
changeSet.deleteObject(...);
changeSet.moveObject(...);
```
Was that what you meant?