Conteúdo Markdown personalizado ausente

Estou tentando criar um bbcode [fieldset=] onde é possível inserir um título como opção do = e o conteúdo dentro da tag.
Agora, minha regra cria as tags HTML corretamente, mas o conteúdo e a opção estão faltando.

Esta é a estrutura da tag que parece correta:

<<fieldset class="bbcode-fieldset">>
<<legend>></legend>>
<<span>></span>>
<</fieldset>>

E esta é a regra que adicionei:

md.block.bbcode.ruler.push("fieldset", {
    tag: "fieldset",
    replace: function(state, tagInfo, content) {
      let token = state.push("fieldset_open", "fieldset", 1);
      token.attrs = [["class", "bbcode-fieldset"]];

      token = state.push("legend_open", "legend", 1);
      token.content = tagInfo.attrs['_default'];
      token = state.push("legend_close", "legend", -1);

      token = state.push("span_open", "span", 1);
      token.content = content;

      token = state.push("span_close", "span", -1);
      token = state.push("fieldset_close", "fieldset", -1);

      return true;
    }
  });

Estou esquecendo algo ao adicionar o conteúdo e o atributo _default? Quero que fique assim:

<<fieldset class="bbcode-fieldset">>
<<legend>{option}</legend>>
<<span>{text}</span>>
<</fieldset>>
token = state.push("span_open", "span", 1);

// Add this line :
token = state.push('text', '', 0);

token.content = content;
token = state.push("span_close", "span", -1);

Fonte: