Create Reporter class (this time for real)

* forgot to track the source file in the first commit