public function remove($capability, $params = null)
    {
        $capability = Horde_String::upper($capability);

        if (is_null($params)) {
            unset($this->_data[$capability]);
        } elseif (isset($this->_data[$capability])) {
            if (!is_array($params)) {
                $params = array($params);
            }
            $params = array_map('Horde_String::upper', $params);

            $this->_data[$capability] = is_array($this->_data[$capability])
                ? array_diff($this->_data[$capability], $params)
                : array();

            if (empty($this->_data[$capability])) {
                unset($this->_data[$capability]);
            }
        }

        $this->notify();
    }