WoW Style Controls on top of Locomotion System

I'd like to implement World of Warcraft like movements on top of the Locomotion System. Using a NormalMotor, PlatformCharacterController, and AimLookCharacterController is a good starting point but not quite right. I need to implement these changes on top of the Locomotion System...

1) If I left click and move the mouse in the x axis, I should spin around the character without the character changing direction. Currently, this works while standing but if running the run direction changes and it should not. How do I make the character continue to run in the same direction when left clicking to spin around the character while running?

2) If I press down arrow or S, the character should actually run backwards. Currently, if I press down arrow or S, the character stops and then just spins around. How do I instead make the character run backwards when pressing down arrow or S key?

Thanks in advance for any help.

Well, I got this much closer by...

1) Replacing AimLookCharacterController with MouseLookCharacterController

2) Remapping Input.Horizontal to use q & e keys

3) Remapping Input.Horizontal2 to use a & d keys

Still not quite right but much closer. The character will run backwards now, will spin the camera/character pressing a & d, will strafe left/right pressing q & e. Need to fix holding the left mouse button down to spin camera around character instead of spinning character.