Make tasks send back results rather than assigning them in place.
Add proper chunk loading and unloading.
Change to not using task pool.