change MBX messages so that they are passed by value and no pointers