codealike guid
make the methods typed not the object
async only, call Result if you want synchronous
support post, put, and delete