Parabéns pelo vídeo. Esse tipo de conteúdo é importantíssimo.
Só gostaria de fazer uma observação: em JS/TS (seja no browser - WebModules, no NodeJS ou Deno), o padrão singleton é muito mais fácil e direto de aplicar. Exemplo:
// Logger.ts
// Note que não exportei a classe
class Logger {
// ...
}
// Ao invés disso, eu exporto diretamente uma instância.
export const logger = new Logger();
Em qualquer outro arquivo, basta importar o logger
que é uma instância da classe. E isso funciona exatamente como um singleton: só é instanciado quando é preciso (quando o arquivo é importado) e tem uma única instância da classe.