def collect(job, path_id=nil)
      key = job_key(job)
      token = @cache[key]
      token = update_token(job, token, path_id)
      if complete?(job, token)
        @cache.delete(key)
        keep_going(job)
      else
        @cache[key] = token
      end
    end
def collect(job, path_id=nil)
      key = job_key(job)
      token = @cache[key]
      token = update_token(job, token, path_id)
      if complete?(job, token)
        @cache.delete(key)
        keep_going(job)
      else
        @cache[key] = token
      end
    end
Collects a job and deternines if the job should be moved on to the next
 Actor or if it should wait until more processing paths have
 finished. This method is executed asynchronously.
 @param [Job|Object] job data to process or pass on
 @param [Object] path_id identifier of the path the request came from