Extraction of rendering logic into a presenter

There is still loads more to do here. I want to remove the use of the `user` instance variable completely in the view.