         as          : 'owner'
         targetType  : 'JInvitationRequest'
 
+      paymentMethod :
+        as          : 'payment method'
+        targetType  : 'JPaymentPaymentMethod'
+
   constructor:->
     super
     @notifyOriginWhen 'PrivateMessageSent', 'FollowHappened'

        'unlinkOauth', 'changeUsername', 'fetchOldKodingDownloadLink',
        'markUserAsExempt', 'checkFlag', 'userIsExempt', 'checkGroupMembership',
        'getOdeskAuthorizeUrl', 'fetchStorage', 'fetchStorages', 'store', 'unstore'
      ]
    schema                  :
      skillTags             : [String]

  # we are using this in sorting members list..
  updateMetaModifiedAt: (callback)->
    @update $set: 'meta.modifiedAt': new Date, callback

  fetchPaymentMethods$: secure (client, callback) ->
    {delegate} = client.connection
    if delegate is this or delegate.can 'administer accounts'
      @fetchPaymentMethods (err, paymentMethods) ->
        return callback err  if err

        paymentData = []

        queue = paymentMethods.map (paymentMethod, i) -> ->
          paymentMethod.fetchAssociatedPaymentData (err, associatedData) ->
            return callback err  if err
            paymentData[i] = associatedData
            queue.fin()

        dash queue, -> callback null, paymentData