Pull request for graph_page_data refactor

Looks like somehow 2 of your commits got into my push and therefore into the pull request.  Let me know if this causes a problem.