'Remove a callback from a hook.'

def remove(self, name, func):

    if (name not in self.hooks):
        raise ValueError(('Unknown    hook    name    %s' % name))
    was_empty = self._empty()
    self.hooks[name].remove(func)
    if (self.app and (not was_empty) and self._empty()):
        self.app.reset()
