Handling carryovers

I'm not merging this one because I definitely want @puls to review it.
We could also just have the same match appear in multiple phases. That'd probably be the simplest, and leave implementation up to the app.