Modularity. Splitting the player into its “moves” and move them out as separate scenes

There are multiple ways how you can approach designing your State Machine, there is no “one solution fits all”. Just to name a few most popular ones:

  1. You can have states as enums within the same script.
  2. You can have states as Resources with the state logic delegated to each Resource script separately.
  3. You can have states as Nodes and rip the additional benefits of being able to see them easily in the scene tree.

Here’s an interesting discussion about Resource vs Node based State Machines.

Here’s another discussion about a completely different approach that does not use states at all, although this idea is less refined than a traditional State Machine yet.

I’ll let you draw your own conclusions.

EDIT:
I forgot, there are also State Charts, worth considering: