this check actually fires at the start of the next stage, so needs to be gated by current < last.
this makes me think we really need a check that we don't stage past the last stage ever, if i didn't already add that somewhere, mostly making this check redundant now.