Extract ReportBuilder into separate class