Connecting interface class with input events class

hey :slight_smile:
I need help connecting classes in my architecture:
I have a player which can go through different “player states”.
he can have a 2D state where he goes only sideways, a 3D state where he walks normally, or for example a ski state where the controls and movement change entirely.
I built an interface and many inheriting classes for each movement state, and a MonoBehaviour MovementManager that holds a IMoveState _currentState;
he is responsible for calling update and switching between states.
however I am not sure how to link the InputSystem with the different states. so far I just opened many input events on the Interface and just subscribed through the MovementManager.
I am sure there is a much better solution to this :upside_down_face:
see graph bellow: (InputManager is the wrapper for the input system events)

Thanks in advance!