Refactor work

Reworked the basic classes, got the basic tests compiling again.

Now going to start working on reintroducing the tests... starting with Date Comparison code.