The next commit is going to set this right before the to_task call.  Basically like what how have suggested there.

The reason for splitting the two concepts is because they are not actually the same idea at all. Persisting the Async is about storing the results in something, like, for instance, the datastore for later use.  Context completion is about triggering an event once some group of associated things have been run.  They aren't actually the same thing.  Now, we might decide that we would like to combine the concept of writing a "completion marker" and "checking for completion" together for efficiency (1 storage layer RPC rather than two).  But I think we can massage that around once this is working.