       when 'done' then return
       when undefined then @_reqs.push key
     (@deps[key] ?= []).push source
-    @_unmet++
     @_count[source]++
   
   # Take the unmet dependencies from the latest request and push

    @_count = {}
    @_state = {}
    @_cycles = {}
    @_unmet = 0

  # Subscribe to the `requests` and `responses` channels.
  listen: ->

  # zero, it is rescheduled.
  _progress: (keys) ->
    for key in keys
      unless --@_count[key]
        @_reschedule key

