public function __construct(callable $subject, callable $decoration) { $this->subject = $subject; $this->decoration = $decoration; $this->subjectParams = $this->getFunctionParams($subject); $this->decorationParams = $this->getFunctionParams($decoration); $this->params = Param::createFromArrays($this->subjectParams, $this->decorationParams); }