public function script()
    {
        if (empty($this->columns)) {
            throw new \InvalidArgumentException("There are no columns defined");
        }
        return $this->viewFactory
            ->make($this->scriptView, [
                'id' => $this->tableId,
                'columns' => $this->columns,
                'options' => $this->scriptOptions,
                'callbacks' => $this->scriptCallbacks,
                'endpoint' => $this->endpointURL,
            ])
            ->render();
    }