O código é muito bonito porém a utilização do addEvent é apenas prejudicial, motivos:
¹ O tempo minimo de um addEvent é de 100ms, ou seja, não vai adiantar por 0 que o servidor irá substituir automaticamente
² Chame os callbacks diretamente ao invés de usar addEvent
Apenas dicas para uma melhor permance
Cayan, BlackOnix administrator