chore(lmq): move message to message_factory

publish only to desired channel
get_message returns nullptr when empty