* New CommandManager class to deal with undo history