Nosso código Javascript manipula o DOM adicionando nós ou alterando os já existentes da mesma maneira que qualquer linguagem poderia interagir com um banco de dados. Cada chamada para o servidor sob o HTTP via Ajax é exatamente a mesma chamada que fazemos para um web server a partir do código server side.
Com estas abstrações em mente, nós podemos começar a reescrever nosso código, isolando estas interações através de objetos bem definidos.