Es gibt noch in anderes Problem. Deine Subklassen füllen in private $_storage;
ein Array. D.h., jedesmal wenn eine Instanz der Subklasse erstellt wird, gibt es einen Eintrag in diesem Array. Nun ist das eine private Eigenschaft die nur solange existiert solange es eine Instanz gibt.
D.h., jede Instanz bekommt bei der Erstellung genau ein Arrayelement. Worin besteht der Sinn eines Array's mit genau einem Element?
MFG