                 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()
 
 

    actionPhraseMap[type]


  getTargetName:->
    switch @getData().type
      when "comment", "like"
        return "SocialMessage"
      when "follow"
        return "JAccount"

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

class NotificationListItem extends KDListItemView

  activityNameMap =
    comment : "status."
    like    : "status."
    follow  : "started following you."
    join    : "your group"
    leave   : "your group"

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

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

