Javascript - invocando eventos programáticamente

Digamos que agrego eventos a un objeto usando addEventListener o attachEvent (dependiendo del navegador); ¿Es posible invocar posteriormente esos eventos programáticamente?

Los controladores de eventos se agregan / eliminan usando un 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);
        }
    }
}

¿O necesito almacenar copias de cada controlador y simplemente agregar una función Event.invoke (...)?

Edición: Además, jQuery no es una opción: D

Respuestas a la pregunta(2)

Su respuesta a la pregunta