private void ShutdownAndDestroySystem()
        {
            if (_instance == null)
            {
                return;
            }
            try
            {
                _instance.Dispose();
            }
            catch (Exception error)
            {
                Debug.LogError($"Failed to shutdown game system: {_instance}: {error}");
            }

            try
            {
                Object.Destroy(_instance.gameObject);
            }
            catch (Exception error)
            {
                Debug.LogError($"Failed to destroy game system: {_instance}: {error}");
                _instance = null;
            }
        }