Also, I think this method can probably promote the error to the `callback` rather than swallowing it in here. Then the start-up process will receive it and decide to swallow it.

If the error is being promoted outside this API, it will need to be a `{'code': ..., 'msg': ...}` type of object, not an `Error` object, therefore we will have to convert it. We should still log a `warn` message though with the `Error` object so that we can retain the stack trace.