public function fromTable(string $tableName) : TableChartMappingDefiner
    {
        if (!isset($this->tables[$tableName])) {
            throw InvalidArgumentException::format(
                    'Invalid table name supplied to %s: expecting one of (%s), \'%s\' given',
                    __METHOD__, Debug::formatValues(array_keys($this->tables)), $tableName
            );
        }

        return new TableChartMappingDefiner($this->name, $this->tables[$tableName]->getDataSource(), $this->callback);
    }