There's actually a reason why I didn't pass the whole config in the first place, and the reason is simple - I do not want every component to be able to access the whole config, since they don't need it. But you are totally right, it's not at all nice to pass multiple parameters here (and you needed yet another one), so I think some interfaces that limit the scope have to be implemented for the configuration.