public async Task WaitForExitSafeAsync(CancellationToken cancellation = default(CancellationToken)) { while (!HasExitedSafe) { await Task.Delay(300, cancellation); if (cancellation.IsCancellationRequested) return; } }