Wip replay old

On reflection, the part that was originally bugging me was the fall through itself, which it turns out wasn't needed -- the only way of reaching starting_done() was via that fallthrough, so I've changed it to just call that directly and switched back to a switch.