       { queryTerms, query } = request
       keyword = queryTerms[0]
       if keyword and engines[keyword] and (1 < queryTerms.length or /\s$/.test query)
+        request.completers = [ this ]
         extend request,
           queryTerms: queryTerms[1..]
           keyword: keyword

    return @mostRecentQuery = arguments if @filterInProgress

    # Provide each completer with an opportunity to see (and possibly alter) the request before it is
    # launched.
    for completer in @completers
      completer.triageRequest? request

    RegexpCache.clear()
    { queryTerms } = request

    [ suggestions, continuations, filters ] = [ [], [], [] ]

    # Run each of the completers (asynchronously).
    jobs = new JobRunner completers.map (completer) ->
      (callback) ->
        completer.filter request, (newSuggestions = [], { continuation, filter } = {}) ->
          suggestions.push newSuggestions...
