public function build()
    {
        if (!isset($this->currentDate)) {
            return array();
        }

        // We need to know how many months to display, so that's the first job:
        $monthsToDisplay = array();
        $thisMonth = new Month($this->currentDate);

        // Go backwards first:
        for ($i = $this->monthOverflow['left']; $i != 0; $i --) {
            $monthsToDisplay[] = $thisMonth->prev($i);
        }

        // And the current:
        $monthsToDisplay[] = $thisMonth;

        // And then forwards:
        for ($i = 1; $i <= $this->monthOverflow['right']; $i ++) {
            $monthsToDisplay[] = $thisMonth->next($i);
        }

        return $monthsToDisplay;
    }