added support for command undoing with new interface
undoablecommandinterface