We have seen that it's possible to deal with cross-cutting concerns, such as logging and configuration, in many different ways. It's advisable to decide on a strategy upfront and get your team to agree on it. Monkey patching, constructor injection, config injection, and JIT injection are all possible ways to either pass around or access config and logging singletons. The choice is entirely up to you and your preferences.