Added some documentation and cleaned up unecessary TODOs.  Added first round of specs for the new classes.