some other possibilities (chose one):
* pass the icon instance (that we have in the request) when you call `success` or `error`; then we need neither `bind` or `self`, and we can even have only one instance for each functions, that you can export outside of fetchImageData.
* alternatively, call the success/error functions using `.call` to set `this` with the icon instance. Same advantages.

I'd really favor one of those two, pick the one that seems the more readable (probably the second one, but I'll let you chose)