i thinks this is a lot better than what we have. it probably could be simplified even further but lets get this into the code and merge.

one thing that is confusing is that you claim that the Page can have an associated route - it simply is its own associated route. it can't associate with any other route.