You think the solution to both open_id users and inviting would be similar?
My thoughts on how to do inviting are like this:
1. by recording the actions that would happen if the user was invited and
then hook the doing of those actions into the registration process. This is
clean and doesn't make many assumptions about the kinds of user source used
but it's a bit fiddly because you can't do any action to a not yet
registered user.
2. by just registering a user at the time of invite and sending them a reset
password type email. Bit nasty has that assumes a certain user_id and might
mean lots of ghost users are in the system.
3. Perhaps some lightweight PAS user source? That got transferred into a
real user upon user registration?
I'm not sure any of those really help with opened right? Perhaps the
lightwieigh user source? But what you really want with opened is the ability
to create real user objects on login. So something like automembermaker
might work.