Monitored Undo is an Undo / Redo framework that makes it simple for .NET developers to add Undo capabilities to an application. The framework "monitors" changes to the model, keeps a history of undo / redo operations, and assists with applying an undo back to the model.