Fixed
Singletonreturns to the ecosystem-standard storage shape:
protected static $instance, stored byget_instance()once the constructor
returns. The class-string-keyed private map introduced for 1.0.0 broke a real
consumer contract — a heavy constructor assigningstatic::$instance = $this;
first so work done during construction can re-enterget_instance(), which
fataled theme-elementary on 1.0.0 with "Access to undeclared static property".
That early-assignment guard is now the documented, tested pattern. Trade-off,
also documented on the trait: a class using the trait and its subclasses share
one storage slot, so do not callget_instance()on a subclass of a singleton.
Full changelog: v1.0.0...v1.0.1