Certo ma e' come definire un'interfaccia , quindi implementarla e invece di mettere il laucnher nel metodo "run" richiesto da specifica lo fai nel metodoto pagulo.
Al dila' del namespace usato e dei vari std, e' la tipologia del motodo (statico) in un contesto non appropriato (dinamico), che non mi piace. Tutto la.
Nelle classi ad esempio di factorying in java fai cose simili ma il metodo statico si occupa di instanzionare una classe esterna, non puo' ritornare un'istanza di se' stesso in quanto appunto metodo statico in classe statica.
In php puoi farlo e a me personalmente e' una tecnica che non piace, ti incasina tanto. Tutto la, poi ovviamente ci sono ambienti dove queste tecniche sono usate proprio per questa flessibilità e li vabbe servono, si fa cosi' e amen. Ma finche posso ne faccio volentieri a meno.
Quando sarò davvero costretto allora e' un altro discorso le uso, ma se posso preferisco tenere tutto piu' pulito.