Best-practice for announcing participants joining/leaving a share

What's the best way to detect—and announce—when participants join and leave a share?

I'm evaluating whether it's possible and practicable to announce to the owner of a share when participants join or leave the share, but having trouble determining these events with precision.

Consider:
  1. Alice shares her list of recommended restaurants and invites Bob and Carol to join.

  2. Bob accepts the invite and joins the share.

  3. Carol later accepts the invite and joins the share.

  4. Question #1: Alice knows her cloudkit.share record has been updated and can examine the participants, but how can she determine who just joined? I don't see a "dateJoined" field or anything to differentiate the participants chronologically.

  5. Bob leaves the share.

  6. Question #2: Alice knows her cloudkit.share record has been updated, but how can she determine that it was Bob that just left? He's no longer in the participants list.