@staticmethod
def check_louie(receiver, signal, method='connect'):
    """
        Check if the connect or disconnect method's arguments are valid in
        order to automatically convert to EventDispatcher's bind
        The old valid signals are:

            - Coherence.UPnP.Device.detection_completed
            - Coherence.UPnP.RootDevice.detection_completed
            - Coherence.UPnP.Device.removed
            - Coherence.UPnP.RootDevice.removed

        .. versionadded:: 0.9.0
        """
    if not callable(receiver):
        raise Exception(
            'The receiver should be callable in order to use the method {method}'
            )
    if not signal:
        raise Exception(f'We need a signal in order to use method {method}')
    if not (signal.startswith('Coherence.UPnP.Device.') or signal.
        startswith('Coherence.UPnP.RootDevice.')):
        raise Exception(
            'We need a signal an old signal starting with: "Coherence.UPnP.Device." or "Coherence.UPnP.RootDevice."'
            )
