Io invece non la vedo così. Sono più per un organizzazione decentralizzata: molto più facile da gestire.
Io per esempio utilizzo variabili passate via query string dove indico il modulo, la sezione del modulo, l'operazione da eseguire ecc e poi includo tutto in base a queste variabili seguendo sempre una procedure decentralizzata.
In pratica la pagina di default del sito analizza la variabile module (che ndica il modulo). Una volta effettuati i controlli del caso (esiste il modulo, la variabile è corretta, ecc) includo la pagina di default del modulo che si occupa di controllare tutte le variabili che gli servono. In questo modo il programmatore è molto più libero di gestire il modulo come meglio crede senza dover essere legato ad uno scheletro del sito e lo stesso risulta anche più veloce e semplice da gestire.