separated the callback to onSuccess and onFailure to avoid having to che...

...ck if e is null each time.  Made it abstract class instead of interface so that you only have to implement what you want.  You can make it an interface if you want.