Legal.
Parece que você pode querer considerar o caminho do widget.
Considere também este método da API:
api.reopenWidget("poster-name", {
html() {
<<seu-código-aqui-mas-considere-usar-o-original-como-modelo>>
}
}
Recomendo que você consulte: A tour of how the Widget (Virtual DOM) code in Discourse works
Fazer esse tipo de coisa no Discourse exige significativamente mais esforço, pois ele é um aplicativo web automático e mágico, mas, uma vez que você faça da maneira correta, a solução pode ser muito robusta.