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

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