docs: def _leaders_changed(
          sender, instance, action, reverse, model, pk_set, **kwargs):
      """
      Hook that executes whenever the group members are changed.
      """
      # print("'%s','%s','%s','%s','%s'"
      #   %(instance, action, reverse, model, pk_set))
  
      if action == "post_add":
          if not reverse:
              project = instance
              for person in model.objects.filter(pk__in=pk_set):
                  log.change(
                      person,
                      "Added person to project %s leaders" % project)
                  log.change(
                      project,
                      "Added person %s to project leaders" % person)
          else:
              person = instance
              for project in model.objects.filter(pk__in=pk_set):
                  log.change(
                      person,
                      "Added person to project %s leaders" % project)
                  log.change(
                      project,
                      "Added person %s to project leaders" % person)
  
      elif action == "post_remove":
          if not reverse:
              project = instance
              for person in model.objects.filter(pk__in=pk_set):
                  log.change(
                      person,
                      "Removed person from project %s leaders" % project)
                  log.change(
                      project,
                      "Removed person %s from project leaders" % person)
          else:
              person = instance
              for project in model.objects.filter(pk__in=pk_set):
                  log.change(
                      person,
                      "Removed person from project %s leaders" % project)
                  log.change(
                      project,
                      "Removed person %s from project leaders" % person)
  
      elif action == "pre_clear":
          # This has to occur in pre_clear, not post_clear, as otherwise
          # we won't see what project leaders need to be removed.
          if not reverse:
              project = instance
              log.change(
                  project,
                  "Removed all project leaders")
              for person in project.leaders.all():
                  log.change(
                      project,
                      "Removed person %s from project leaders" % person)
          else:
              person = instance
              log.change(
                  person,
                  "Removed person from all project leaders")
              for project in person.leads.all():
                  log.change(
                      project,
                      "Removed person %s from project leaders" % person)