code: def register_listener(self, member_uuid, listener):
          
          member_uuid = str(member_uuid)
          if member_uuid not in self._casts:
              self._casts[member_uuid] = {'listeners': [],
                                          'groups': set()}
          self._casts[member_uuid]['listeners'].append(listener)
docs: Register a listener for audio group changes of cast uuid.
              On update will call:
              listener.added_to_multizone(group_uuid)
                  The cast has been added to group uuid
              listener.removed_from_multizone(group_uuid)
                  The cast has been removed from group uuid
              listener.multizone_new_media_status(group_uuid, media_status)
                  The group uuid, of which the cast is a member, has new status
              listener.multizone_new_cast_status(group_uuid, cast_status)
                  The group uuid, of which the cast is a member, has new status