- Add unit tests for AuthenticationManager.
- Hide impl in internal package, make plugin manage lifecycle of singleton instance