Optional Reporter

This allows for the user to specify an optional reporter, instead of an additional reporter, that can run in place of the existing one.