void Start()
 {
     stateMachine       = new BetelgeuseStateMachine(this);
     isStateActive      = true;
     updateRoutine      = StartCoroutine(ControlledUpdate());
     timeTrackerRoutine = StartCoroutine(TimeTracker());
 }
 public void ExitingGame()
 {
     isStateActive = false;
     instance      = null;
     if (stateMachine != null)
     {
         stateMachine.Destroy();
         stateMachine = null;
     }
     if (updateRoutine != null)
     {
         StopCoroutine(updateRoutine);
     }
 }