Add route-based publishMessage()