The reason I had done it this way is because the swap does have to happen after the run block and I thought this way modeled that nicely. In any case, I'm not attached to this way so I've made the change