     "#{@publicKey}-kite-all"
 
   getGroupName:(groupName)->
-    "#{@publicKey}-kite-kite-#{@publicKey}-Deployer"
+    "#{@publicKey}-kite-kite-#{@publicKey}-#{groupName}"
 
   receivedCommand: (from, cmdid, cmd, args)->
-    #console.log "received command", from, cmd, args
-
     if cmd.indexOf('reply-') > -1
       cmdid = cmd.split('reply-')[1]
-      @waitingReplies[cmdid]?.call(@, {args:args, from:from})
+      console.log ">>>> reply cmd", cmd, args
+      @waitingReplies[cmdid]?.call @, false, {args:args, from:from}
       return
 
     fn = @commands[cmd]

        cb false, @getChannelNameForKite()

      'kite.join': (opts, cb)->
        console.log "========>>>>>>"
        console.log "opts", opts

        channelName = opts.args[0]
        kiteName = opts.args[1]
        if not @kiteList[channelName]
          @kiteList[channelName] = []
        if kiteName not in @kiteList[channelName] 
          @kiteList[channelName].push kiteName
        console.log "clients", @kiteList
        cb false, true

      'kite.consume': ()->
        # TODO:
        @mergenData.lpop @getChannelNameForGenericName(), (err, val)->
          console.log "!!!!!!!!!!!!! lpop lpop >>>>>>", val


    @mergenData.hset "#{@publicKey}-kites", "#{@serviceGenericName}-#{@serviceUniqueName}", data

    @sendCommand @getChannelNameForGenericName(), "kite.who", [], (err, reply)->
      console.log "=========11111111================================="
      console.log err, reply
      console.log "=========// 11111111================================="
      @commands['kite.join'].call(@, {args:[@getChannelNameForGenericName(),reply.from], from:reply.from})

    @sendCommand @getChannelNameForGenericName(), "kite.join", [@getChannelNameForGenericName(), @getChannelNameForKite()]

