Move base view code to seperate file, start of generalizing
Starting to defer some business logic to the model classes and out of the views.