Configure default tid through client factory

Hi,
 
I'm working on a PHP client for the Google Measurement Protocol and building this based on Guzzle with service descriptions. I would like to know how to overwrite a required parameters through the client config. 
 
The service definition can be found here:
https://github.com/krizon/php-ga-measurement-protocol/blob/tid-config/src/Krizon/Google/Analytics/MeasurementProtocol/Resources/service.php
 
As you can see the 'tid' parameter needs to be send with every request. I would like to offer users two ways to pass the 'tid' parameter:
- as parameter, see parameter.php https://gist.github.com/krizon/8299508#file-config-php
- OR as config value when creating the client, see config.php https://gist.github.com/krizon/8299508#file-config-php;
 
It mostly works like expected but I want the 'tid' parameter to be required since it should be included in every request. So i defined the 'tid' parameter to be required but this results in an error when using the example of config.php.
To be more specific, this makes the test https://github.com/krizon/php-ga-measurement-protocol/blob/e3074b3af751ab4bad0f4cf9ee20dbc7db2afb8f/tests/Krizon/Google/Analytics/MeasurementProtocol/Test/MeasurementProtocolClientTest.php#L199 fail:
Guzzle\Service\Exception\ValidationException: Validation errors: [tid] is required;
 
How can one provide both ways to pass the 'tid' parameter and make the 'tid' parameter required?
 
Thanks!