Refactored inheritance. Separated editor actions into classes, added undo/redo history.