Extract some domain logic into command objects. Implement simple undo for creation / deletion.
Fix broken test.
Improved undo. Add specs for commands.