         sink(end())
         reply = Bacon.noMore
       else
-        value = _.popHead(values)
+        value = values.splice(0,1)[0]
         reply = sink(toEvent(value))
     -> unsubd = true
 

        else
          spawn event
    composite.unsubscribe
  extraDeps = []
  result.internalDeps = ->
    extraDeps.concat(root)
  result


class EventStream extends Observable
  constructor: (desc, subscribe) ->

          unsubAll() if reply == Bacon.noMore
          reply
    checkQueue = ->
      event = queue.splice(0,1)[0]
      spawn event if event
    checkEnd = (unsub) ->
      unsub()
