The all the controller logic should be extracted from the `PlayerController` so it can be used by NPC.
The all the controller logic should be extracted from the
PlayerControllerso it can be used by NPC.