We have three permutations of this functionality that should be available to the user depending on status and authentication:
Existing User should be able to click a "Join this Group" button and instantly be added to the group.
Existing User's who already belong to the group should receive the opportunity to "Leave Group" instead of being shown the "Join this Group" button.
Anonymous or Unauthenticated Users should be able to click the "Join this Group" button and be asked if they want to Sign Up via a model window or given the opportunity to navigate away and Log In.
Problem
We have three permutations of this functionality that should be available to the user depending on status and authentication: