Better command handling. Added ICommand placeholders for Undo/Redo