This cleans up Endpoints interface

* Make use of superagent http lib
* Make the interface a lot cleaner - no more pyramid of doom