Pass common object to nested structs

FWIW: I generally suggest passing in loggers to methods via a context since you can build up/curry values into the logger for additional context.