public function flatten($indexColumn, $valueColumn)
    {
        return $this->reduce(
            function ($carry, CollectionableInterface $entity) use ($indexColumn, $valueColumn) {
                $carry[$this->getFieldValue($entity, $indexColumn)] = $this->getFieldValue($entity, $valueColumn);

                return $carry;
            },
            array()
        );
    }