A framework for implementing undo/redo in your application.