public function detach($listener)
{
if ($ob = $this->getListener($listener)) {
unset($this->_listeners[$ob->getName()]);
$this->_storage->clear($ob->getName());
} else {
throw new Horde_Exception(sprintf('Notification listener %s not found.', $listener));
}
}