public function __call($func, $args) { $deferred = new Deferred(); $this->call[] = [$deferred, $func, $args]; return $deferred->promise(); }