Introduce client_args

client_args allow for users to manipulate the request without our init
being cluttered up with keyword args

[ci skip]