More WIP: add commands for actions to facilitate undo/redo