Update class hierarchy/dependency graph.
Add Cucumber, ready for integration testing;

It is becoming increasingly difficult to test functionality with unit tests alone.