Make final callback optional