redesigning the contract
moving classes into packages
Another checkpoint.

Adding a bunch of classes, tweaks to the pom, yadda yadda.