Did something similar with the TaskSchedulerDistributor that I previously did with the TaskExecutorDistributor.  I did however need to seperate that interface into two, since the TaskSchedulerDistributor does not currently handle anything with futures.