Doing GString coercion on our side
This is leaking abstraction
Implemented the unarchive step
Fixed a race condition in this test that can cause sporadic failure.

The issue is that with.node() runs asynchronously, so it might take more than 3 waitForWorkflowToSuspend() calls
to get the workflow to suspend at steps.watch().

Reference: https://trello.com/c/SjWmf7L7/12-control-flow-impl-parallel
needs to copy a map before making changes to it