Added onComplete() that takes success and failure funs.