$_SESSION[__CLASS__][$key] = $value; } static function getComplex() { return self::instance()->get('complex'); } static function setComplex(Complex $complex) { return self::instance()->set('complex', $complex); } } class Complex { } SessionRegistry::setComplex(new Complex()); print_r(SessionRegistry::getComplex()); class ApplicationRegistry extends Registry { private static $instance; private $freezedir = "data"; private $values = []; private $mtimes = []; private function __construct() { } static function instance() { if (!isset(self::$instance)) { self::$instance = new self(); } return self::$instance;