StateCharts are the "Strucured Programming" version of State Machines.
StateCharts use parental authority instead of inheritance (my words).
A child state machine cannot override the operation of a parent. A parent can yank children out of their current states back to some known state.
OOP and FP don't encourage this kind of thinking.
The Big Deal concerning state machines is the "state explosion problem". Harel's StateChart notation conquers this problem.
My reading of the original paper is here: https://guitarvydas.github.io/2020/12/09/StateCharts.html