This class looks a lot like the existing "SetupReport" class that all of the existing "SetupXYZ" classes implement.  That's fine, but we might want to think about a gradual migration by refactoring the existing classes rather than setting up a completely new package structure in parallel.