Report generation refactor

Trying to remove different types of report and compress to single report
object.