public async Task Subscribe(OutputChannelModificationInfo modificationInfo, NebulaService nebulaService)
        {
            var outputChannelSpecification = modificationInfo.OutputChannel.TypeSpecification;

            if (outputChannelSpecification == null)
            {
                return;
            }

            nebulaService.ModifyInMemoryOutputChannels(modificationInfo.OutputChannel);

            if (outputChannelSpecification is HttpPushOutputChannelSpecification channelSpecification)
            {
                await nebulaService.CreateOrUpdateJobAsync(channelSpecification.TargetUrl, modificationInfo.OutputChannel.ExternalKey)
                .ContinueWith(res => nebulaService.StartJobIfNotStarted(res.Result));
            }
            else
            {
                throw new ArgumentNullException($"OutputChannel Type is not supported");
            }
        }
 public async Task Subscribe(OutputChannelModificationInfo modificationInfo, NebulaService nebulaService)
 {
     nebulaService.RemoveInMemoryOutputChannels(modificationInfo.OutputChannel);
     await nebulaService.StopJob(modificationInfo.OutputChannel.JobId);
 }