The canonical way to get rendered output of a page is currently WikiPage::getParserOutput(). This functionality should be extracted into a service object, and generalized so it can also be used by Article::view, which currently duplicated the relevant functionality (namely, checking ParserCache, and running PoolWorkArticleView).
Introducing such a service object will also give us a leverage point for supporting output transformations. Output transformations are currently implemented partially in ParserOutput, partially in Parser, and partially duplicated in Parsoid.
The new service would also provide a single point for introducing caching for the output of old revisions (T244058).