message handler callback is now mandatory