Rewrote reporter to more closely match core reporter patterns