add check whether handler exist to message_hander
extract callbacks to a seperate class