public PipelineBuilder TemperatureAndTint(
            float temperature,
            out EffectSetter <float> temperatureSetter,
            float tint,
            out EffectSetter <float> tintSetter)
        {
            string id = Guid.NewGuid().ToUppercaseAsciiLetters();

            async ValueTask <IGraphicsEffectSource> Factory() => new CanvasTemperatureAndTintEffect
            {
                Temperature = temperature,
                Tint        = tint,
                Source      = await this.sourceProducer(),
                Name        = id
            };

            temperatureSetter = (brush, value) => brush.Properties.InsertScalar($"{id}.{nameof(CanvasTemperatureAndTintEffect.Temperature)}", value);

            tintSetter = (brush, value) => brush.Properties.InsertScalar($"{id}.{nameof(CanvasTemperatureAndTintEffect.Tint)}", value);

            return(new PipelineBuilder(this, Factory, new[] { $"{id}.{nameof(CanvasTemperatureAndTintEffect.Temperature)}", $"{id}.{nameof(CanvasTemperatureAndTintEffect.Tint)}" }));
        }