I do something like this with a "context" object which holds many configurations, which allows me to pass fewer things to each function. The other option is to use singletons, but they make the code less encapsulated and more difficult to test.