public virtual void Complete() { if (_isCompleted) return; _isCompleted = true; if (OnComplete != null) OnComplete(this); }