 
   on  :(eventName, callback) -> _on  @_e, eventName, callback
   off :(eventName, callback) -> _off @_e, eventName, callback
-  unsubscribe:(eventName, callback) -> _off @_e, eventName, callback
 
   once:(eventName, callback) ->
     _callback = =>


  constructor:->
    @KDEventEmitterEvents  = {}
    @_e = @KDEventEmitterEvents[@constructor.name] = {}

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

  _unregisterEvent = (registry, eventName, callback)->
    if eventName is "*"
      registry = {}
    # reset the listener container so no event3
    # will be propagated to previously registered
    # listener callbacks.
    else if callback and registry[eventName]
