MovementSpeedComponent is kind of extension to CharacterMovementComponent which allows to change max speed of owner character.
It means that owner must have CharacterMovementComponent.

There are few different movement states like walk,run,sprint and to each of them we can assign different speed;

To change current speed state, call this function

When movement speed state has changed, it triggers event to which owner can react.
For example start consuming stamina when sprint started.