It looks like we need a `callback(err)` before returning -- otherwise I think the callback will never get run in this case