public static void AllowCancel(this IBusyState busyState, CancellationTokenSource cancellationTokenSource, string cancelCaption) { busyState.AssertNotNull(nameof(busyState)); cancellationTokenSource.AssertNotNull(nameof(cancellationTokenSource)); busyState.CancellationCallback = () => cancellationTokenSource.Cancel(); busyState.CancelCaption = cancelCaption; busyState.CanCancel = true; }