public function add(Field $control)
    {
        $renderable = $control instanceof \Illuminate\Contracts\Support\Renderable;


        $control->setField(function ($row, $cont, $templates) use ($control, $renderable) {

            $control = app(Control::class)
                    ->setTemplates($this->control->getTemplates())
                    ->setPresenter($this->control->getPresenter());

            $field = $control->buildFieldByType($cont->type, $row, $cont);
            $cont->setModel($row);
            if (($value = $cont->getValue()) !== false) {
                $field->value($value);
            }
            if ($renderable) {
                return $cont;
            }

            return $control->render([], $field);
        });


        $this->controls[] = $control;
        return $this;
    }