Cross Browser Event normalización de objetos?

Estoy buscando un buen recurso sobre la normalización de eventos en el objeto de evento. Estoy tratando de hacerlo yo mismo, pero sigo sintiendo que voy a extrañar algo.

Esto es lo que tengo hasta ahora, dime si me perdí algo.

var eFix = function(e) {
    e = e || window.event;
    e.target = e.target || e.srcElement;
    e.offsetX = e.offsetX || e.layerX;
    e.offsetY = e.offsetY || e.layerY;
    e.relatedTarget = e.relatedTarget ||
        e.type == 'mouseover' ? e.fromElement : e.toElement;
    e.target = e.target || e.srcElement;
    if (target.nodeType === 3) target = target.parentNode; //Safari bug
    return e;
};

¿Alguien ha visto una función de normalización completa? ¿Yo me perdí algo? (No hace falta decir que vamos por el modelo W3C no IE)

Respuestas a la pregunta(1)

Su respuesta a la pregunta