Revised how optional callbacks are handled