This class will only rollback and redo the command it wraps.
In the case of where commands are required to interact with the UI it is often desirable to execute the command and then put it on the
command stack so that it can be undone.
author: Jesse since: 1.1.0