this needs a `return` to avoid a possible double callback.