Provides interfaces for implementing commands which can be undone or redone, and for initiating undo/redo operations.