Venha comigo falar sobre os passos fundamentais para criar componentes que sejam fáceis de customizar, tenham uma boa performance, sejam impecáveis na questão acessibilidade, ainda por cima não sejam impossíveis de fazer manutenções que com certeza aparecerão e muito mais.
Ps.: E tudo isso sem depender de nenhum framework ;)