public Task DiscoverAsync() { if (monitor==null || !enabled) return Task.Delay(0); if (!discoverTask.IsCompleted) return discoverTask; discoverTask = monitor.DiscoverAsync(); return discoverTask; } }