protected internal void SignalCompleted() { EventHandler handler = Completed; if (handler == null) return; if (dispatcher == null || !Dispatch) { handler(this, EventArgs.Empty); return; } dispatcher.Post(x => handler(this, EventArgs.Empty), null); }