Implemented futures in the TaskExecutorDistributor...this implementation is VERY close to the one in PriorityScheduledExecutor, so we need to figure out how to reduce that code duplication