   Internal method for publish firing
   @private
   ###
-  _publishFiring: (topic, task, data) ->
+  _publishFiring: (topic, task, data) =>
     try 
       task[0].apply task[1], [topic].concat data
     catch err

  Alias for {#publish}
  @return [Object] *this* for chaining
  ###
  publishSync: (topics, data...) ->
    @_publisher 'sync', topics, data
    this


  @param topics [String] topic names
  @param data [Array] any kind of data(s)
  ###
  _publisher: (type, topics, data) =>

    # if somthing go wrong
    unless _.isString(topics)
