Issue #249 completed controller so that it co-ordinates the other actors in the system.