Finished first pass at refactoring out the model into its own object with its onw methods that lives outside the controller.

Next step will be to start on the diff elements - so need a clone method in the model