Refactor ReportAdapter in a DSL-ey direction