public override async Task GenerateOutputs(EvaluationContext ctx)
        {
            _compiled ??= TemplateTree.Parse(Template);
            _outputs ??= new List <string>();

            string output;

            if (_compiled != null)
            {
                var builder = new StringBuilder();
                Func <string, string> encodeFunc = Language switch
                {
                    TemplateLanguage.Html => HtmlEncoder.Default.Encode,
                    TemplateLanguage.Text => s => s, // No need to encode anything for a text output
                    _ => s => s,
                };

                await _compiled.GenerateOutput(builder, ctx, encodeFunc);

                output = builder.ToString();
            }
            else
            {
                output = null;
            }

            _outputs.Add(output);
        }