solo un appunto: non credo che la gestione degli errori possa essere affrontata con le stesse tecniche e la stessa filosofia della gestione degli eventi. Gli errori infatti nascono e muoiono sul server e possono verificarsi più di uno a catena (in questo caso andrebbe gestita una coda)
Gli eventi invece arrivano dal client attraverso $_REQUEST e devono essere gestiti dal server, inoltre arriva solo un evento per volta.
Quindi mi semgrano problemi diversi.
Inoltre non perderei di vista il detto "Keep it simple, stupid!"