How can I require multi-user approval for a node? I have a created a "Team" node type, and I'd like a single user to "invite" people onto the team, but require each team member's approval.

I currently have workflow states of "Approved" and "Unapproved" linked to the "Team" type, and an unlimited "User Reference" field attached to the "Team" type, but I'm not sure how to use Drupal's built-in approval mechanism appropriately. I could create an intermediary node type ("RSVP", maybe) with an "Approved/Unapproved" boolean field (or Workflow status, I suppose) and a "User Reference" with limit 1, and then link the RSVPs to the "team" type., but this seems a little kludgey.
Maybe write your own module

#1 push message for each team member

#2 for each member approval check if this it's all, if yes then push invite to new member/user

#2b if new member accept invite then add her/him to the group (you can do it with og API e.g.)

#3 if someone from group disapprove then remove invite from awaiting list

#x you can add some settings page so e.g. if 50% of team members agree with invitation then proceed to #2 and invite new user