internal async void StopInternal() { await Task.Run(() => _current.Dispose()); _current = null; OnStopped(); }
internal async void StartInternal() { if (_current != null) { throw new InvalidOperationException(); } TraceClear(); _current = new RoleRunner(this); _current.Start(); var original = _state; await _current.Started; if (original == _state) { Started(); } }