public function next() { $deferred = $this->result->next ?: ($this->result->next = new Deferred()); return $deferred->promise(); }