protected function generateGrid($tiles, $columns)
    {
        [$distribution, $grid] = Distributor::distribute(
            $tiles,
            $columns,
            $this->settings['tallRate'],
            $this->settings['wideRate']
        );
        RandomFiller::fill($grid, $distribution, $this->settings['maxFillRetries']);
        return $grid;
    }