docs: def to_publish(self):
          """
          This is the relation data that the local unit publishes so it is
          visible to all related units. Use this to communicate with related
          units. It is a writeable
          :class:`~charms.reactive.endpoints.JSONUnitDataView`.
  
          All values stored in this collection will be automatically JSON
          encoded when they are published. This means that they need to be JSON
          serializable! Mappings stored in this collection will be encoded with
          sorted keys, to ensure that the encoded representation will only change
          if the actual data changes.
  
          Changes to this data are published at the end of a succesfull hook. The
          data is reset when a hook fails.
          """
          if self._data is None:
              self._data = JSONUnitDataView(
                  hookenv.relation_get(unit=hookenv.local_unit(),
                                       rid=self.relation_id),
                  writeable=True)
          return self._data