Refactor RequestGenerator