I don't have any objection to it, but we might want to document why the callback is run asynchronously here -- I assume it's to avoid some potential pitfall or bug case, but I can't figure out what it is.