I haven't looked at the project yet, but from what I can understand, you simply need to run your phases even if there are no actual actions to run. Account for that so that the blocks phase runs no matter what and does nothing except trigger the next phase if no one selected a block action.
A little more complex, but you can also build a "stack" of actions to take in an array for a phase. Push them to an array, and delete them out of the the array when run. When the array size is 0, proceed to next phase.