docs: def run_task_json(task_cls, task_data):
      """Instantiate and run the perform method od given task data.
  
      :param task_cls: task class
      :param task_data: task data
      :type task_data: TaskData
      :return: task's result
      """
      # TODO what does set_skipping_json do?
      task = instantiate(task_cls)
      task_callable = get_callable(task)
      td = TaskData(task_data)
      td.set_skipping_json(True)
      return task_callable(td)