public override async Task WriteAsync(ScriptScopeContext scope, PageBlockFragment block, CancellationToken token)
        {
            if (block.Argument.IsEmpty)
                throw new NotSupportedException($"Name required in {Name} script block");
            
            var argumentStr = block.Argument.ToString();
            var args = argumentStr.SplitOnFirst(' ');
            var name = args[0].Trim();

            using (var ms = MemoryStreamFactory.GetStream())
            {
                var useScope = scope.ScopeWithStream(ms);
                await WriteBodyAsync(useScope, block, token);

                var capturedSvg = ms.ReadToEnd();                
                Svg.AddImage(capturedSvg, name, args.Length == 2 ? args[1].Trim() : null);
            }
        }