         expLogging("IDENTIFY \(msg) ")
         broadCast("2000",params: msg)
     }
+    
+    /**
+     * Create Subscriber list
+     * @param name
+     * @param callback
+     * @return
+     */
+    private func createSubList(name:String, callback:CallBackType)->[CallBackType]{
+        var subscriberArray: [CallBackType] = []
+        if let listCallback = self.listeners[name] {
+            subscriberArray = listCallback
+        }else{
+            self.listeners[name] = subscriberArray
+        }
+        subscriberArray.append(callback)
+        return subscriberArray
+    }
 
 }

    */
    public func onBroadcast(dic: [String : AnyObject]) {
        let name = dic["name"] as! String
        if let callBack = self.listeners[name] {
            callBack(dic)
        }
    }
    

     @return Promise<Any>
     */
    public func listen(name:String, callback:CallBackType)->Promise<Any>{
        listeners.updateValue(createSubList(name, callback: callback), forKey: name)
        return subscribe(generateId())
    }
    
