Added a new class of undo to fix #37.