Connect a receiver to a signal

        :param receiver: Name of the receiver
        :type receiver: str
        :param signal: Name of the signal. Must already be registered!
        :type signal: str
        :param function: Callable functions, which shall be executed, of signal is send.
        :param plugin: The plugin objects, which connects one of its functions to a signal.
        :param description: Description of the reason or use case, why this connection is needed.
                            Used for documentation.
        :param sender: If set, only signals from this sender will be send to ths receiver.

def connect(self, receiver, signal, function, plugin, description="", sender=None):
        """
        Connect a receiver to a signal

        :param receiver: Name of the receiver
        :type receiver: str
        :param signal: Name of the signal. Must already be registered!
        :type signal: str
        :param function: Callable functions, which shall be executed, of signal is send.
        :param plugin: The plugin objects, which connects one of its functions to a signal.
        :param description: Description of the reason or use case, why this connection is needed.
                            Used for documentation.
        :param sender: If set, only signals from this sender will be send to ths receiver.

        """
        if receiver in self.receivers.keys():
            raise Exception("Receiver %s was already registered by %s" % (receiver,
                                                                          self.receivers[receiver].plugin.name))
        self.receivers[receiver] = Receiver(receiver, signal, function, plugin, self._namespace, description, sender)
        self.__log.debug("Receiver %s registered for signal %s" % (receiver, signal))
        return self.receivers[receiver]