Push logic to authenticator and add a client handler class