This splits up all the code in classes and cleans everything up. A very few tests have been added. HTML has been simplified. Next up: frontend refactoring