abstract public function __construct(Request $request, Translator $translator, View $view, GridContract $grid);

    /**
     * Extend decoration.
     *
     * @param  callable  $callback
     *
     * @return $this
     */
    public function extend(callable $callback = null)
    {
        // Run the table designer.
        if (! \is_null($callback)) {
            \call_user_func($callback, $this->grid, $this->request, $this->translator);
        }

        return $this;
    }