         like   :
           (signature Object, Function)
         unlike :
+          (signature Object, Function)
+        sendPrivateMessage:
+          (signature Object, Function)
+        fetchPrivateMessages:
           (signature Object, Function)
 
     schema          :

  @share()

  @set
    sharedMethods :
      static   :
        post   :

        return callback message: "Request is not valid for unliking a message"
      SocialMessage.doRequest 'unlikeMessage', client, data, callback

  @sendPrivateMessage = permit 'send private message',
    success:  (client, data, callback)->
      unless data.recipients?.length > 1
        return callback message: "You should have at least one recipient"
      unless data.body
        return callback message: "Message body should be set"
      SocialMessage.doRequest 'sendPrivateMessage', client, data, callback

  @fetchPrivateMessages = permit 'list private messages',
    success:  (client, data, callback)->
      SocialMessage.doRequest 'fetchPrivateMessages', client, data, callback

  @doRequest = (funcName, client, options, callback)->
    fetchGroup client, (err, group)->
      return callback err if err
