refactoring: moved many top-level methods into a `Reporting` module
made some methods on Reporting private