Decoder instances are now pointers to the decoders instead of instances of the decoders.
getHttpClient is now a protected non-static function because only the request uses it.
Added option to call protected methods with the reflection method.
Create tests for the request class.