<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def _notify_update(self, name, change_type, change_info=None, directed_client=None):
 """Notify updates on a service to anyone who cares."""


        for monitor in self._monitors:
            try:
                result = monitor(name, change_type, change_info, directed_client=directed_client)
                if inspect.isawaitable(result):
                    await result
            except Exception:
                # We can't allow any exceptions in a monitor routine to break the server.
                self._logger.warning("Error calling monitor with update %s", name, exc_info=True)