I understand this is a synchronization mechanism but this is a little bit obscure for people not used to Cost Control code so group `ops` declaration with `next` declaration, change the name `next` for a slightly more meaningful name such as `trySetup` and change the name of `ops` as well to be more verbose. I.e: `remainingSteps` or something you think it fits better.