protected abstract TaskResponse Run(TaskRequest task);
public TaskResponse Execute(TaskRequest task) { return(Run(task)); }