public function getAllowedCountries()
    {
        // Get allowed_countries from extending object. (ie. Page, DataObject)
        $allowedCountries = $this->owner->config()->allowed_countries;
        if (is_array($allowedCountries) &&
            $allowedCountries) {
            return $allowedCountries;
        }

        // Get allowed countries global. If there are no specific rules on a Page/DataObject
        // fallback to what is configured on this extension
        $allowedCountries = Config::inst()->get(__CLASS__, 'allowed_countries');
        if (is_array($allowedCountries) &&
            $allowedCountries) {
            return $allowedCountries;
        }

        // Finally, fallback to a full list of countries
        return IntlLocales::singleton()->config()->get('countries');
    }