     unbind
 
 # eventTransformer - defaults to returning the first argument to handler
-Bacon.$ = asEventStream: (eventName, selector, eventTransformer) ->
+Bacon.$ = {}
+Bacon.$.asEventStream = (eventName, selector, eventTransformer) ->
   [eventTransformer, selector] = [selector, undefined] if isFunction(selector)
   withDescription(@selector or this, "asEventStream", eventName, Bacon.fromBinder (handler) =>
     @on(eventName, selector, handler)


  withDescription(Bacon, "retry", options, source().flatMapError (e) ->
    if isRetryable(e) and retries > 0
      retry(error: e, retriesDone: maxRetries - retries)
    else
      Bacon.once(new Error(e)))


  toArray: -> []
  inspect: -> "None"
  toString: -> @inspect()
}

DepCache = (->
  flatDeps = {}
