protected virtual void StopInternal() { Ended.TrySetResult(true); State = PlayState.Stopped; AudioLayer.SourceStop(SoundInstance.Source); RestartInternal(); }