<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __perform_unsolicited_callbacks(self, msg):
 """Callbacks for which a client reference is either optional or does not apply at all"""

        type_ = msg[M_TYPE]
        payload = msg[M_PAYLOAD]

        # callbacks for responses which might be unsolicited (e.g. created or deleted)
        if type_ in _RSP_PAYLOAD_CB_MAPPING:
            self.__fire_callback(_RSP_PAYLOAD_CB_MAPPING[type_], msg)

        # Perform callbacks for feed data
        elif type_ == E_FEEDDATA:
            self.__simulate_feeddata(payload[P_FEED_ID], *self.__decode_data_time(payload))

        # Perform callbacks for unsolicited subscriber message
        elif type_ == E_SUBSCRIBED:
            self.__fire_callback(_CB_SUBSCRIPTION, payload)

        else:
            logger.error('Unexpected message type for unsolicited callback %s', type_)