public void Start() { if (_isRunning) { throw new InvalidOperationException("Already started."); } _isRunning = true; _stageInterrupt.Reset(); Task.Run(async() => { await ContactTracker(); using (var pipelineScope = _parentContainer.CreateScope()) { _pipeline = _pipelineFactory.CreatePipeline(pipelineScope.ServiceProvider, ApplicationProtocol); _pipeline.Run(_stageInterrupt, _progress); } }); }