The existing reports all share common behaviors which should be refactored into another class or module. We can take this opportunity to define more concretely how reports should be called and how their results and errors are handled.
WDLL
- new Base class or module
- all existing reports use Base
- ensure each report is called the same and handles messaging the same via Base