I want to attach a ModelObserver to react to onTransactionUndo (is that the right approach to undo an operation when there's more than geometry?). But when do I remove it? Is there a way to know the limit of the undo stack and when my operation is out of it?