In TablePager::getBodyOutput(), a ParserOutput object is currently used because it is a container for HTML and ResourceLoader modules. But it also has a bunch of other methods which aren't appropriate to use here.
So I think we need a generic container object that has getters and setters for:
- HTML text
- addModuleStyles (CSS-only modules)
- addModuleScripts (JS-only modules)
- addModules (combined)
This should be easy to do, except I can't come up with a name for it.