Non-blocking requests

@client.facts.request_via_intermediary(selfid, facts) do |res|
    # GOTO Receiving fact response - Deal with the response
end
// use language built in goroutines
go func() {
    // ...
}
// use language built in async
async() => {
    // ...
}