Cleanup 2: The Classes Strike Back

- Everything is now either classes/enums or namespaces
- All separated into files
- When the application closes, you get a minor crash