public void OnPlayerDeath()
    {
        --_playerLivesRemaining;
        if (_playerLivesRemaining > 0)
        {
            StartCoroutine(_spawnPlayerOneDelayed());
        }
        else
        {
            _spawning = false;
            // "game over"
        }

        GameEventArgs args = GameEventArgs.livesChangedArgs(_playerLivesRemaining, this.gameObject);

        _playerLivesChangedEvent.Raise(args);
    }