We can create a separate internal-only function that the current function can wrapIt's public API, so we'll need a new internal function (so it can take an output object argument). The current function can become a wrapper for it. We might be able to reuse the config warn/error handlers.