ensure that callbacks are properly invoked