Extract bulk of 'reporting' into a reporter trait

Removes a lot of kerfuffle from the RepoRewriter class