ensure optional success/error callbacks are called.

Great project, thank you.

I thought it would be a good idea to always call the success/error callbacks, just like the promises are always resolved/rejected.

In case you agree, attached is an implementation.  
I looked for a `wip` branch but couldn't find one.

Great first name by the way!