docs: async def trigger_act(self, *args, addr=None, agent=None, **kwargs):
          '''Trigger agent to act.
  
          If *agent* is None, then looks the agent by the address.
  
          :raises ValueError: if both *agent* and *addr* are None.
          '''
          if agent is None and addr is None:
              raise TypeError("Either addr or agent has to be defined.")
          if agent is None:
              for a in self.get_agents(addr=False):
                  if addr == a.addr:
                      agent = a
          self._log(logging.DEBUG, "Triggering agent in {}".format(agent.addr))
          ret = await agent.act(*args, **kwargs)
          return ret