Então, isso que vc escreveu é exatamente o meu ponto. Você não deveria usar o documento como a sua fonte do estado, por conta separação entee apresentação e estado, era esse o ponto quando o MVC foi criado, e depois virou o ponto novamente quando propuseram o Flux (que inclusive funciona muito bem no Elm diga-se de passagem).
Se você depender do DOM para isso, você vai ter que inserir o DOM nas suas outras funções, e isso vai forçar você introduzir efeitos colaterais onde não deveria, outro ponto é que para usar o documento como fonte da verdade só dificultaria serializar ele de volta em valore usaveis pelo JS, é muito mais simples a abordagem atual onde você começa dos dados e o componente é só um adapter desses dados e não o contrário. Fora que se você depender do DOM para isso, você não vai conseguir fazer as coisas de modo declarativo.
Se você usa React e cia para isso, você pode escrever a abstração da manipulação desse estado de forma pura e declarativa, o que é muito melhor que ficar escrevendo código imperativo de coisa que é só detalhe de implementação.
Ficar dependendo do DOM para manter o estado só vai fazer tudo regredir para era JQuery, e a história já provou como o modelo declarativo é muito superior.