The Undo/Redo framework provides the infrastructure for supporting unlimited linear Undo/Redo functionality, so no mistake is the end of the world.
The UndoManager automatically manages the Undo/Redo history stacks. This provides the functionality for performing undo/redo operations and maintaining the undo/redo history.
Support undo/redo of any type of operation, including transactions using built-in or custom UndoUnits.
Add support for undo/redo of collection changes.