Another thing to think about: perhaps we have config too tightly coupled with middlware; do we need to load it separately and pass in to each middleware a reference to the root config object?