Javascript - programaticamente invocando eventos

Digamos que eu adicione eventos a um objeto usando addEventListener ou attachEvent (dependendo do navegador); é possível invocar posteriormente esses eventos programaticamente?

Os manipuladores de eventos são adicionados / removidos usando um objeto como este:

var Event = {
    add: function(obj,type,fn) {
        if (obj.attachEvent) {
            obj.attachEvent('on'+type,fn);
        } else {
            obj.addEventListener(type,fn,false);
        }
    },
    remove: function(obj,type,fn) {
        if (obj.detachEvent) {
            obj.detachEvent('on'+type,fn);
        } else {
            obj.removeEventListener(type,fn,false);
        }
    }
}

Ou eu preciso armazenar cópias de cada manipulador e apenas adicionar uma função Event.invoke (...)?

Edit: Além disso, jQuery não é uma opção: D

questionAnswers(2)

yourAnswerToTheQuestion