callback = $callback; $this->modifierName = $modifierName; } public function handle(...$params) { try { return ($this->callback)(...$params); } catch (\ArgumentCountError $e) { throw new Exception("Invalid number of arguments to modifier " . $this->modifierName); } } }