Extracted out the OAuth2 authenticator so that the google specific stuff is in a subclass instead