       data.isParticipant = channel.isParticipant
       data.participantCount = channel.participantCount
       data.participantsPreview = channel.participantsPreview
-
       c = new SocialChannel data
-      # until we create message id's
-      # programmatically
-      # inorder to make realtime updates work
-      # we need `channel-` here
-      c._id = "channel-#{c.id}"
-
-      # bind all events
-      registerAndOpenChannel c
-
-      c.on "*", -> console.log arguments
-      c.on "MessageAdded", -> console.log arguments, "messageadded"
       # push channel into stack
       revivedChannels.push c
-
+    # bind all events
+    registerAndOpenChannels revivedChannels
     return revivedChannels
 
   forwardMessageEvents = (source, target,  events)->

        message = mapActivity message
        target.emit event, message, rest...

  registerAndOpenChannel = (socialApiChannel)->
    getCurrentGroup (group)->
      subscriptionData =
        serviceType: 'socialapi'
        group      : group.slug
        channelType: socialApiChannel.typeConstant
        channelName: socialApiChannel.name
        isExclusive: yes

      name = "socialapi.#{socialApiChannel.groupName}-#{socialApiChannel.typeConstant}-#{socialApiChannel.name}"
      brokerChannel = KD.remote.subscribe name, subscriptionData
      forwardMessageEvents brokerChannel, socialApiChannel, [
        "MessageAdded",
        "MessageRemoved"
      ]

  message:
    edit   :(rest...)-> messageApiMessageResFunc 'edit', rest...

class SocialApiController extends KDController

  constructor: (options = {}, data) ->
    @openedChannels = {}
    super options, data

  mapActivity = (data)->
