     @public
     @param {any} id id of the entity to update
     @param {Object} data key-value pair to update
+    @param {ResourceClientInterface} [client=@client]
     @return {Promise<Entity>} updated entity
     ###
-    update: (id, data) ->
-        @client.updateAttributes(id, data).then (obj) =>
+    update: (id, data, client) ->
+        client ?= @client
+        client.updateAttributes(id, data).then (obj) =>
             return @factory.createFromObject(obj)
 
 

    @method save
    @public
    @param {Entity} entity
    @return {Promise<Entity>} entity (different instance from input)
    ###
    save: (entity) ->
        @client.upsert(entity).then (obj) =>
            return @factory.createFromObject(obj)



    @method get
    @public
    @param {any} id
    @param {ResourceClientInterface} [client=@client]
    @return {Promise<Entity>} entity
    ###
    get: (id, client) ->
        client ?= @client
        client.findById(id).then (obj) =>
            return @factory.createFromObject(obj)


