Así que tengo esta función:
export function Home() { const moduleContainer = document.createElement("div"); const uiContainer = document.querySelector("#ui-container"); uiContainer.innerHTML = ""; moduleContainer.id = "module-container"; moduleContainer.classList.add("module-container", "min-height"); const removeStats = statsUI(gameState.player, uiContainer); const removeInv = inventory(gameState.player, uiContainer); const battleBossButton = createButton("Boss", "Batalla", ()=>{ Battle(bossMonsters.squeletonKing, "Pradera"); }); const battleButton = createButton("Mob", "Batalla", ()=>{ Battle(monsters.goblin, "Montaña"); }); const shopButton = createButton("Shop", "Tienda", ()=>{ Shop(); }); moduleContainer.appendChild(battleButton); moduleContainer.appendChild(battleBossButton); moduleContainer.appendChild(shopButton); mainContainer.appendChild(moduleContainer); }La primera vez que ejecuto esta función, todo funciona bien, pero cuando (usando una función diferente) vacío el contenedor principal y vuelvo a ejecutar esta función, el contenedor del módulo no se agrega nuevamente, la cuestión es que si consola. registro el contenedor del módulo, tiene el botones dentro de él, pero el contenedor principal no tiene nada dentro, no estoy seguro de lo que está pasando, ¿alguna idea?
Para aclarar lo que quiero decir, tomé esta captura de pantalla 
como puede ver, la primera vez que se ejecuta, el dom se ve correcto la segunda vez que el contenedor principal no tiene nada dentro.
EDITAR: el contenedor principal se define en un archivo de constantes y se exporta así export const mainContainer = document.querySelector("#main-container"); También la función createButton proviene de un archivo de ayuda y se ve así
export function createButton(text, id, callback) { const button = document.createElement("button"); button.id = id; button.classList.add("btn", "btn-custom"); button.innerText = text; button.addEventListener("click", () => callback()); return button; }