Allowing a custom Request class to be defined would enable either a different Request class or a subclass of Request to be used, providing more flexibility.