protected virtual void OnAfterRotationCircularAxisChange()
 {
     InternalRotationCircularAxis.ClearSources();
     if (RotationCircularAxis != null)
     {
         InternalRotationCircularAxis.AddSource(RotationCircularAxis);
     }
 }
        protected virtual void OnEnable()
        {
            OnAfterTargetChange();
            OnAfterFacingSourceChange();

            InternalRotationHorizontalAxis.RunWhenActiveAndEnabled(() => OnAfterRotationHorizontalAxisChange());
            InternalRotationVerticalAxis.RunWhenActiveAndEnabled(() => OnAfterRotationVerticalAxisChange());
            InternalRotationCircularAxis.RunWhenActiveAndEnabled(() => OnAfterRotationCircularAxisChange());
            InternalMovementHorizontalAxis.RunWhenActiveAndEnabled(() => OnAfterMovementHorizontalAxisChange());
            InternalMovementVerticalAxis.RunWhenActiveAndEnabled(() => OnAfterMovementVerticalAxisChange());
        }