Message handler changes

Big changes to how message handling works