TaskQueue rewrite, now handles batched work