The state machine runs trouble free if implemented correctly. Splitting state machines makes only sense when it’s different stuff to happen at the same time - otherwise the linear approach makes the sense the most imo.
Anyway, now that you understood the basics, good luck with all the rest