Updated ReportGenerator with SRP and OCP. Implementation of Compiler and Formatter is NOT implemented yet.