This works right now but as soon as you'll have data migration you'll need a more complex asynchronous construct so that all operations are correctly sequentially executed.

Might make sense to add a comment stating this, so that when you (or someone else) come back here, you don't just add a new "case" and you take some time to think whether you need something more complex :)