Change cusotm response header format
Added new unit tests
Refactored part of the library, we can now pass a completion handler block to handle the response on the application