Specs for the new classes

* Re-organized classes to put their public methods up top
* Added specs for each of the classes that was added