die Parameter sollen ja sehr unterschiedlich sein von der signatur her unterschiedlich sein und sie nicht gleichen.
Das ist mir schon klar. Deswegen benutzt Du ja auch diesen unsäglichen $this->_storage[] = $params;
Syntax.
Von meiner ersten Atwort, die unabhängig davon ist abgesehen, hier fände ich eine saubere Deklaration daß $_storage ein array ist und die Anwendungen von array_push() deutlich reproduzierbarer.
Zum Verständnis meiner Antwort: Der Aufruf des Vaterkonstruktors ist immer dann erforderlich wenn Eigenschaften geerbt+initilisiert werden sollen.
MFG