Question: we really only ever call the callback if this works?  Wouldn't you typically also trigger it for error cases, and flow the error through?  Maybe this is OK, just seems unexpected to me.