A marker interface implemented by commands that don't dirty the model.
An interface that every command is expected to support.
A simple and obvious interface for an undoable stack of commands with a listener.
A listener to a
An abstract implementation of a basic command.
A basic and obvious implementation of an undoable stack of commands.
A command that wraps another command.
A command that comprises a sequence of subcommands.
A command that always produces the same result.
A composite command which assumes that later commands in the list may depend on the results and side-effects of earlier commands in the list.
An exception thrown when a command's