private async void Dispatch() { if (_dispatched) return; _dispatched = true; await Task.Delay(300); Application.Current.Dispatcher.InvokeAsync(() => { UpdateInternal?.Invoke(this, new EventArgs()); _dispatched = false; }).Task.Forget(); }