                 originatorName = KD.utils.getFullnameFromAccount origin
                 "#{originatorName}'s"
 
-              @activityPlot.updatePartial "#{adjective} #{activityNameMap[constructorName]}"
+              @activityPlot.updatePartial "#{adjective} #{@getActivityName()}"
               resolve()
         else
-          @activityPlot.updatePartial "#{activityNameMap[constructorName]}"
+          @activityPlot.updatePartial "#{@getActivityName()}"
           resolve()
 
 

class NotificationListItem extends KDListItemView

  activityNameMap =
    SocialMessage : "status."
    JAccount      : "started following you."
    JComment      : "your comment."
    JGroup        : "your group"

  actionPhraseMap =
    comment     : "commented on"
    reply       : "replied to"
    like        : "liked"
    follow      : ""
    share       : "shared"
    commit      : "committed"
    member      : "joined"
    groupJoined : "joined"
    groupLeft   : "left"

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


    actionPhraseMap[type]


  getActivityName:->
    return activityNameMap[@getData().type]

  getActivityPlot:->
    new Promise (resolve, reject)=>
      data = @getData()
      adjective = ""
      switch data.type
        when "comment", "like"
          KD.remote.api.SocialMessage.fetch {id: data.targetId}, (err, message)=>
