Re-work the package/file structure.

Split class files into relevant packages.
Add new packages.