cleanup: Move classes from Editor.java into separate files, introduce packages