Keep Dependency Injection Simple

Yup. https://blog.thecodewhisper...

I would add that the "bad design" is doing its job: it's telling you that you've scattered cohesive behavior throughout the system. Pushing it up the call stack towards the entry point gathers that behavior into one place. That's the trick.