public void Stop() { if (_watching) { throw new InvalidOperationException("not started"); } _onRunJob.RemoveListener(OnRunJob); _onError.RemoveListener(OnError); _watching = false; }