Mvc impl

Changed Main over to use MVC for processing.

Quite nice, but not made as much use of composition as possible.