failover = new T1A(); $this->failoverArr[0] = new T1B(); $this->failoverArr[1] = new T1C(); parent::__construct(); } public function defineMethods() { $this->addWrapperMethod('Wrapping', 'wrappedMethod'); $this->addMethodsFrom('failover'); $this->addMethodsFrom('failoverArr', 0); $this->addMethodsFrom('failoverArr', 1); $this->addCallbackMethod('failoverCallback', function ($inst, $args) { return true; }); } public function wrappedMethod($val) { return $val; } public function normalMethod() { return true; } }