Refactor Token.request->perform