Bunch of progress - all of the support classes with unit tests.