Fix for TaskExecutorDistributors not removing themselves, and getting into an infinite loop....this also prevents constructing LinkedLists that are never used
Merge branch 'master' into unstable_staging