Lots of refactoring
A bit more encapsulation
Wrap HttpResponse in ResponseDetails