Possible fix for #13. Includes error strings/network errors propagation ...

...and a control for callbacking just once. Alberto, take a look at this proposal. Not really tested it yet, but I think the idea is clear: it propagates error strings in callbacks and network errors as well, instead of an error flag. Additionally, callback is wrapped in a closure that ensures it only gets called once. 

What do you think about it? 

Important: I've not made any tests yet, this pull request is only to show the pattern. In case you wanna merge, we should test it before.