Added reporter class, refactored any output methods to reporter.