onLogin/onLogout callback can return Future