NoOneIsIrreplaceable - creating a basic http communication layer that can be replaced in tests or by end user.