Use bi-directional events system instead of handcrafted messages.