AsyncMessenger: a trivial refactory and a fix