Improvement re-run speed by avoiding overhead of copy.deepcopy during parallelization. Provide better hooks for cleaning up clusters during failure to ensure controller/engines removed