DejaVu

Reusable library that can equip any action in your application with the Undo/Redo feature. You may use complex data structures and complex algorithms with no care about how they will be rolled back on user demand or after an error.

Key points
* Undo/Redo for commands executed
* Isolated areas where commands executed
* Recovering application state after an exception
* Nested commands
* Intelectual merging of similar consecutive commands (affined commands)
* Tracking user activites
* No constraints for Data Model declaration
* No special requirements for Buisness Logic

And last point: You do not need Command Pattern any more!

Go to http://dejavu.codeplex.com/

See also these related projects.