The success/error handlers all seem quite similar.  Wonder if it would be worth extracting the similar portions.