rename `shouldIgnoreUrl` to `handleUrl` and add the `deferred` parameter