This unifies all the report-handling code so that plugins only need to worry about the data they wish to represent, and not the logic of actually returning it.