function __call($class, array $args = null) { if (is_null($this->_namespace)) { $qualified = $class; } else { $qualified = $this->_namespace . '\\' . $class; } $this->clear(); $rClass = $this->reflect($qualified); if ($rClass->isSubclassOf('Kinesis\\Reference') || $rClass->isSubclassOf('Kinesis\\Object')) { $instance = parent::__call($qualified, $args); } else { $instance = new Reference\Object(parent::__call($qualified, $args)); } if (!$instance instanceof Object) { self::initialise($instance, $class); } return $instance; }