callback = $callback; } public function decorate(FormElement $formElement) { $decorator = clone $this; $decorator->formElement = $formElement; $formElement->prependWrapper($decorator); } protected function assemble() { call_user_func($this->callback, $this->formElement, $this); } }