/** * Private constructor. Only static methods can create instances. * The instance will register itself into the garbage collector upon construction. */ private function __construct() { GarbageCollector::setMemory(&$this); }