first call callback, then destroy message