Yes you should use addEvent.../removeEvent.... As an example the CSS animation and transition APIs don't have the DOM event handler onTransitionEnd.... (though WebKit/Blink have them because of legacy).