If we're going to keep backwards compatibility by keeping the callback-based signature, we need to at least call the callback on nextTick() instead of calling it immediately.