docs: def set_remote(self, key=None, value=None, data=None, **kwdata):
          """
          Set data for the remote end(s) of this conversation.
  
          Data can be passed in either as a single dict, or as key-word args.
  
          Note that, in Juju, setting relation data is inherently service scoped.
          That is, if the conversation only includes a single unit, the data will
          still be set for that unit's entire service.
  
          However, if this conversation's scope encompasses multiple services,
          the data will be set for all of those services.
  
          :param str key: The name of a field to set.
          :param value: A value to set. This value must be json serializable.
          :param dict data: A mapping of keys to values.
          :param **kwdata: A mapping of keys to values, as keyword arguments.
          """
          if data is None:
              data = {}
          if key is not None:
              data[key] = value
          data.update(kwdata)
          if not data:
              return
          for relation_id in self.relation_ids:
              hookenv.relation_set(relation_id, data)