<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def register_listener(self, address, func):
 """Adds a listener to messages received on a specific address If some KNX messages will be received from the KNX bus, this listener will be called func(address, data). There can be multiple listeners for a given address """

        try:
            listeners = self.address_listeners[address]
        except KeyError:
            listeners = []
            self.address_listeners[address] = listeners

        if not func in listeners:
            listeners.append(func)

        return True