Se escucha bien, aunque como te digo, todo esto esta basado para una idea principal: "plugins", si ves por decir un foro como vBulletin, en muchas partes de su código tiene algo así:
Código PHP:
($hook = vBulletinHook::fetch_hook('showthread_getinfo')) ? eval($hook) : false;
Con eso ellos implementan los plugins en su base de datos, y evaluan codigo PHP que se indique (claro esto no es el ideal), pero podrias hacer algo similar:
Código PHP:
// código php...
Messenger::notify( 'new_customer', $this );
// más código php
Luego el Messenger se encargara de obtener todos los "observers" que tengan el evento new_customer registrados y pasarles la instancia de la clase actual por ejemplo para que sepan que hacer con la información.
Saludos.