def METHOD_NAME(
    self,
    task_name: str,
    task_input: Shareable,
    targets: Union[List[Client], List[str], None] = None,
    task_props: Optional[Dict] = None,
    min_responses: int = 1,
    abort_signal: Signal = None,
) -> Dict[str, DXO]:
    task = Task(name=task_name, data=task_input, result_received_cb=self.results_cb, props=task_props)
    self.controller.METHOD_NAME(task, self.fl_ctx, targets, min_responses, 0, abort_signal)
    return self.results