NoOneIsIrreplaceable - creating a basic http communication layer that ca...

...n be replaced in tests or by end users.
Should method be passed by reference?