NoOneIsIrreplaceable - creating a basic http communication layer that can be replaced in tests or by end users.
HisResponseWasExceptional - throwing exception for non-200 web responses
007 - setting user agent header