public function withDataCell(string $tableDataCellClassName) : TableColumnFieldDefiner
    {
        if (!is_subclass_of($tableDataCellClassName, TableDataCell::class, true)) {
            throw InvalidArgumentException::format(
                    'Invalid class supplied to %s: expecting subclass of %s, %s given',
                    __METHOD__, TableDataCell::class, $tableDataCellClassName
            );
        }

        return new TableColumnFieldDefiner($this->fieldBuilder, $tableDataCellClassName);
    }