Anche io feci qualcosa di simile ma senza l'uso delle classi visto che avevo bisogno di qualcosa di leggero.

Feci un sistema di handler del tipo:
codice:
//sottoscrivo una mia funzione all'evento
$plugins->add_handler('nome_evento', 'funzione_da_avviare');
Per far partire un evento:
codice:
$plugins->run_handler('nome_evento');
Ora come farlo dipende dalle esigenze che si hanno, per la mia situazione quanto descritto sopra era più che sufficiente (la documentazione per la gestione delle funzioni la trovi qua: http://it2.php.net/manual/it/funchand.strings.php).

ora se quello che devi fare è più complicato, tipo aggiungere nuove zone del sito ti consiglio di fare una cosa a classi dove un plugin è una classe che eredita da un'altra classe o che implementa una data interfaccia.

Purtroppo documentazione nn ne conosco sennò te l'avrei linkata volentieri.