End of year clean-up!

- Rearrange packages by subject
- Rename some classes
- Optimise imports