Refactoring to separate out standard membership from OAuth implementation