WikibaseQualityConstraints has a ConstraintReportFactory class that instantiates several services; however, for more recent services, we seem to have stopped using it, instead copying+pasting service instantiations in several places. I don’t think this was a conscious decision, and I don’t see a reason why it would have to be this way. Let’s move some more services into ConstraintReportFactory.
Related: T183373: Refactor and split up CheckConstraints::newFromGlobalState (I think that task can actually be declined – as far as I can tell there’s no reason why CheckConstraints can’t use ConstraintReportFactory.)