refactor: make CurrentUserProvider more convenient to use