refactored IdentityStore implementations to be stateless