using modes/different apps in arduino code

hello, I began another big project with arduino boards.

I would like to make easy modes change in the use of the board. I explain: The board handles leds and buttons. I code a midi sequencer (for instance), I code a random light blinking, I code etc etc

with one button, I go through these modes.

how could I do that? what could be the better code architecture ? case/break? re-setup the whole things and force a reboot?

all ideas would be appreciated :)

all the best,