Then we could replace the reply callback in OutMessage with the Promise and the handle reply would complete that promise. This could simplify a bit the code and make it uniform.