'Disassociate listener with message types created by this Dispatcher.
@param listener callable to no longer receive messages
@param *types zero or more message types to disassociate with listener
@return True if disassociated with one or more handler; otherwise False'

def unregister(self, listener, *types):

    count = 0
    for messagetype in types:
        try:
            listeners = self.listeners[maybeName(messagetype)]
        except (KeyError,):
            pass
        else:
            if (listener in listeners):
                listeners.remove(listener)
                count += 1
    return (count > 0)
