Add onFinish and onFail callbacks