Don't encode coordinate arrays with Float64, use Float32 instead.
Free coordinate arrays after we are done.
Consolidate redundant if test into existing composite function
After all tasks to assemble have launched we will wait on one task.  When it completes we poll all other tasks and clean up any that have completed.  This frees resources from tasks that have completed out of order.