/// <summary>Processes the next step in the character creation chain, or completes the process if there are no more steps.</summary>
        /// <param name="step">The current step.</param>
        /// <param name="result">The result of the current step.</param>
        public void HandleNextStep(CharacterCreationSubState step, StepStatus result)
        {
            CurrentStep = GetNextStep(step, result);

            // If there were no remaining steps found, we're done.
            if (CurrentStep == null)
            {
                OnCreationComplete();
                return;
            }
            else
            {
                CurrentStep.Begin();
            }

            CurrentStep.StateMachine = this;
        }