public function executeAndKeepOne(...$args) { if ($this->isEmpty()) { return false; } $cb = $this->shift(); $this->unshift($cb); if ($cb) { $cb(...$args); } return true; }