recatoring httpclient using transport classes to allow changing easily between file, curl or 3rd party transport classes(Guzzle?)