Finite State Machine with Unities New Input System

Recently I followed this tutorial on implementing a FSM to manage input in Unity. Makes a lot of sense and found it to be a great tutorial.

However, I am wondering how I would do this using Unities new input system or if it even makes sense to do an FSM implementation with Unities new input system. I don’t expect or even want someone to spell it out for me am just trying to conceptualize how it would work and would really appreciate any insight somebody is able to give.

My thoughts at the moment are would I:

Define the OnMove OnJump etc. methods as well as an Awake method to create a new PlayerInput Object as abstract methods in the PlayerBaseState abstract class (inheriting the input interface here) – this seems like it would be inefficient because there would be a new PlayerInput Object for each state alternatively you define this I…
Or

do this in the PlayerController class and then in OnMove OnJump transition to the appropriate state.

Has anyone implemented an FSM using the new InputSystem does it even make sense to?

Please let me know If the question is unclear

Figured it out I think. Took the the second of the two options and just transition to respective state when the appropriate button is called. Still open to any advice if something comes to mind

I may be reading this wrong, but doesn’t that defeat the purpose of the state machine?
In that case you are calling transitions from the PlayerController and not from within the states themselves. That means you could keep transitioning to Jump no matter what your current state is?