docs: def join(cls, scope):
          """
          Get or create a conversation for the given scope and active hook context.
  
          The current remote unit for the active hook context will be added to
          the conversation.
  
          Note: This uses :mod:`charmhelpers.core.unitdata` and requires that
          :meth:`~charmhelpers.core.unitdata.Storage.flush` be called.
          """
          relation_name = hookenv.relation_type()
          relation_id = hookenv.relation_id()
          unit = hookenv.remote_unit()
          service = hookenv.remote_service_name()
          if scope is scopes.UNIT:
              scope = unit
              namespace = relation_id
          elif scope is scopes.SERVICE:
              scope = service
              namespace = relation_id
          else:
              namespace = relation_name
          key = cls._key(namespace, scope)
          data = unitdata.kv().get(key, {'namespace': namespace, 'scope': scope, 'units': []})
          conversation = cls.deserialize(data)
          conversation.units.add(unit)
          unitdata.kv().set(key, cls.serialize(conversation))
          return conversation