Have pages return the actual page object

Currently a dictionary is returned which means we need to update every view context every time we add a helper function to a model.
this test was missing, I wrote it because I noticed changing bits of code in the view didn't break any tests