Undo/Redo Example Using a Simple Command Pattern