1) save current method and command in login context
2) move auth method logic to AuthMethod trait