Added Undo/Redo

Generic names are used for many actions, because generic event handler
are attached to many GUI components.