Decouple request creation from request sending