Refactored to allow for a registry of Reporters, so we can have multiple for the app