Dein Code zeigt, wie man es nicht machen soll: Die Initialisierung einer Instanz, was in OOP zweifelsfrei eine Angelegenheit des Konstruktors ist, über einen Tait zu schleifen.
Und genau das hat Dir auch @Rolf B geschrieben, nämlich daß die Methoden eines Trait in diesem Fall auf private Eigenschaften der Instanz zugreifen.
MFG