Three minor fixes

* fix load order of widgets
* don't trigger related object loading quite so soon
* infer type from page_object, not page_model