Some work on an undo/redo system