public function computed(callable $groupDataCallback) : ColumnMappingDefiner
    {
        return new ColumnMappingDefiner(
            function (IColumn $column) use ($groupDataCallback) {
                $this->column($column);
                $this->componentIdCallableMap[$column->getComponentId()] = $groupDataCallback;
            },
            function ($componentId) use ($groupDataCallback) {
                $this->componentIdCallableMap[$componentId] = $groupDataCallback;
            }
        );
    }