Standard callback

this Pull request is NOT backward compatible. It change the api of the callback but allows a more node-standard and cleaner way of handling errors thrown by request.