def save_task_status(self, task_id,
                         task_action,
                         comment,
                         delegate_id=''):
        """
        invokes TouchWorksMagicConstants.ACTION_SAVE_TASK_STATUS action
        :param task_action - Task action, such as Approve, Complete, or Deny.
        :return: JSON response
        """
        magic = self._magic_json(
            action=TouchWorksMagicConstants.ACTION_SAVE_TASK_STATUS,
            parameter1=task_id,
            parameter2=task_action,
            parameter3=delegate_id,
            parameter4=comment)
        response = self._http_request(TouchWorksEndPoints.MAGIC_JSON, data=magic)
        result = self._get_results_or_raise_if_magic_invalid(
            magic,
            response,
            TouchWorksMagicConstants.RESULT_SAVE_TASK_STATUS)
        return result