 
     listeners = []
 
-    edge = edges[i]
-
+    edge      = edges[i]
+
+    straight  = node[listenerKey]  if i is edges.length
     wild      = node[wildcardKey]
-    straight  = node[listenerKey]
     nextNode  = node[edge]
 
-    if straight? and i is edges.length
+    if straight?
       listeners = listeners.concat straight
 
     if wild?


    listener.apply this, rest  for listener in listeners

    if oldEvent?
      @event = oldEvent

    else
      delete @event

    return this


  # INSTANCE METHODS
  # to enable anInstance.on or anInstance.emit (anInstance being new ClassName)

  constructor: (options = {}) ->
    { maxListeners } = options
    @_e             = {}
    @_maxListeners  = if maxListeners > 0 then maxListeners else 10
