Implemented factory pattern for creation of report objects.