Proper Usage Of UInputComponent->BindAction/BindAxis?

Hello All, quick question.

So I have a Gladiator character which has several states(E.G. Running, Dodging, Jumping etc) Which are each represented in code as their own ActorComponent class, a GladiatorState. When a state becomes active it has control over what to do with any input this character pawn receives. I have thought about giving the base GladiatorState class a virtual prototype function for each type of input, and on activation of a state all of it’s definitions of the input functions would be bound to the InputComponent.

Assuming there may be ~10 bindings every time the state switches (which could happen several times a second) Would calling UInputComponent->BindAxis be expensive?

Furthermore does this seem like a best practice for using action/axis binding functions?

Thanks!