       # bind all events
       registerAndOpenChannel c
 
+      c.on "*", -> console.log arguments
+      c.on "MessageAdded", -> console.log arguments, "messageadded"
       # push channel into stack
       revivedChannels.push c
 


    return mappedMessages

  mapActivities = (messages)->
    # if no result, no need to do something
    return messages unless messages
    # get messagees from result set if they are not at the first level
    messages = messages.messageList if messages.messageList
    messages = [].concat(messages)
    revivedMessages = []
    {SocialMessage} = KD.remote.api
    for message in messages
      m = new SocialMessage message.message
      m._id = message.message.id
      m.account = {}
      m.account.constructorName = "JAccount"
      m.account._id = message.accountOldId
      m.meta = {}
      m.meta.likes = message.interactions?.like?.length or 0
      m.meta.createdAt = message.message.createdAt
      m.replies = message.replies
      m.repliesCount = message.replies.length or 0
      m.interactions = message.interactions

      # todo- remove those event bindings
      m.on "MessageReplySaved", log
      m.on "update", log

      revivedMessages.push m

    return revivedMessages

  mapActivity = (message)->
    # if no result, no need to do something
    return message unless message

    {SocialMessage} = KD.remote.api
    m = new SocialMessage message
    m._id = message.id
    m.meta = {}
    m.meta.createdAt = message.createdAt

    return m

  mapChannels = (channels)->
    return channels unless channels
    revivedChannels = []

      sendPrivateMessageRequest 'sendPrivateMessage', rest...
    fetchPrivateMessages :(rest...)->
      sendPrivateMessageRequest 'fetchPrivateMessages', rest...
    revive : mapActivity

  channel:
    list                 : fetchChannels
