What is important is not HOW we get message_ids out, but they are available somehow.
Options include logging, network calls to a callback (perhaps UDP datagrams for the lowest impact), storing them in a datastore, etc.