Refactor authenticators and add HeaderAuthenticator