Add support for pooling off workers
More efficiently use worker groups