Add command factory documentation
Add undo/redo management