<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def deliver_indication(self, indication, host):
 """ This function is called by the listener threads for each received indication. It is not supposed to be called by the user. It delivers the indication to all callback functions that have been added to the listener. If a callback function raises any exception this is logged as an error using the listener logger and the next registered callback function is called. Parameters: indication (:class:`~pywbem.CIMInstance`):
 Representation of the CIM indication to be delivered. host (:term:`string`):
 Host name or IP address of WBEM server sending the indication. """

        for callback in self._callbacks:
            try:
                callback(indication, host)
            except Exception as exc:  # pylint: disable=broad-except
                self.logger.log(logging.ERROR, "Indication delivery callback "
                                "function raised %s: %s",
                                exc.__class__.__name__, exc)