     #     listenerStack = listenerStack.concat @_e[eventToBeFired].slice(0)
 
     listenerStack = listenerStack.concat @_e[eventName].slice(0)
-
-    listenerStack.forEach (listener)=>
-      listener.apply @, args
+    listenerStack.forEach (listener)=> listener.apply @, args
 
   on  :(eventName, callback) -> _on  @_e, eventName, callback
   off :(eventName, callback) -> _off @_e, eventName, callback

    _off _e, eventName, callback
    return this

  constructor:->
    @_e = {}

  emit:(eventName, args...)->
    @_e[eventName] ?= []

    listenerStack = []

    # for own eventToBeFired of @_e
    #   continue if eventToBeFired is eventName

    #{event.replace(/\./g,'\\.').replace(/\*/g, '((?:\\w+\\.?)*)')}
    $///

  # STATIC METHODS
  # to enable ClassName.on or ClassName.emit

  @emit: ->
    # slice the arguments, 1st argument is the event name,
