Made the view into a typeclass, it needs some more functions, for instance to update it.