     data.unreadCount         = channel.unreadCount
     data.lastMessage         = mapActivity channel.lastMessage  if channel.lastMessage
 
-    return new KD.remote.api.SocialChannel data
+
+    channelInstance = new KD.remote.api.SocialChannel data
+
+    KD.singletons.socialapi.cacheItem channelInstance
+
+    return channelInstance
 
 
   mapChannels = (channels)->

      for socialApiChannel in socialApiChannels
        channelName = generateChannelName socialApiChannel
        continue  if socialapi.openedChannels[channelName]
        socialapi.openedChannels[channelName] = {} # placeholder to avoid duplicate registration

        subscriptionData =

          catch e then null

    new MessageEventManager {}, m

    KD.singletons.socialapi.cacheItem m

    return m

