public async Task Activate(HandlerGraph handlers, CapabilityGraph capabilities, JasperRuntime runtime, ChannelGraph channels, LocalWorkerSender localWorker) { var capabilityCompilation = capabilities.Compile(handlers, _serialization, channels, runtime, _transports, _lookups); var transports = _transports.Where(x => _settings.StateFor(x.Protocol) != TransportState.Disabled) .ToArray(); _settings.Workers.Compile(handlers.Chains.Select(x => x.MessageType)); localWorker.Start(_persistence, _workerQueue); if (!_settings.DisableAllTransports) { await _settings.ApplyLookups(_lookups); channels.Start(_settings, transports, _lookups, capabilities); _delayedJobs.Start(_workerQueue); } runtime.Capabilities = await capabilityCompilation; if (runtime.Capabilities.Errors.Any() && _settings.ThrowOnValidationErrors) { throw new InvalidSubscriptionException(runtime.Capabilities.Errors); } }