more privacy for reporter

towards immutability, even

moved _reporter mutation into combinators in Context,
made sure inlining doesn't suffer