Macro & Undo command with UML