This makes mocking and refactoring easier.
Tackling this ticket involves thinking about the changes to the architecture first and then discussing it in a discussion. When we have an approach that is fine for all persons involved, then it's time to create a PR (or a series of PRs).