Add onComplete, onSuccess and onError callbacks