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

def register_listener(self, member_uuid, listener):
        """ 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
        """
        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)