To simplify a bit - we have a list of actions that can occur in our system. Basically add item, edit item, delete item, etc. One of the items is script which is contained in an actipro Document. To implement undo/redo in our system I need to be able to roll the state of the Document (including the undo/redo stack) back to a previously cached state. When they roll back to that state - pressing ctrl+z should do exactly what it would have done when they were intially at that state. The best way I can think of doing this is by cloning the Document. I think all we would strictly NEED is the undo/redo stack. But indicators, outlining state, etc would probably be nice too.
I'll email you about this.