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

...n be replaced in tests or by end users.
This doesn't work as is.