A specific, existing task can be updated by making a PUT request on the
        URL for that task. Only the fields provided in the `data` block will be
        updated; any unspecified fields will remain unchanged.
        
        When using this method, it is best to specify only those fields you wish
        to change, or else you may overwrite changes made by another user since
        you last retrieved the task.
        
        Returns the complete updated task record.

        Parameters
        ----------
        task : {Id} The task to update.
        [data] : {Object} Data for the request

def update(self, task, params={}, **options): 
        """A specific, existing task can be updated by making a PUT request on the
        URL for that task. Only the fields provided in the `data` block will be
        updated; any unspecified fields will remain unchanged.
        
        When using this method, it is best to specify only those fields you wish
        to change, or else you may overwrite changes made by another user since
        you last retrieved the task.
        
        Returns the complete updated task record.

        Parameters
        ----------
        task : {Id} The task to update.
        [data] : {Object} Data for the request
        """
        path = "/tasks/%s" % (task)
        return self.client.put(path, params, **options)