True, that was needed for a fixme. The undoable thing is a temporary workaround. We need to think about actions a little. The problem I see is that the undoable elements are the commands. However, what you actually want is to be able to undo user actions as they were invoked. The problem comes when you have actions that use other actions - which is something that I particularly like - since then each subaction creates its own command and executes it. The bigger action is no longer undoable as a whole, but as pieces. We tried to fix this with the CompositeCommand but it's probably not enough. Proposal: let actions create the commands and return them (but not execute them). Then the controller gets the command and executes it or pass it back to the action that called this particular action (need to figure out this). These way actions can use commands created by other actions to compose a bigger command that can be undone as a whole operation.

Well that's a long story for a sort answer: yes you are right the undoable thing stinks and we should get rid of it, but I'll let it here if that's ok until we discuss all of this.