Request handling refactor