Epic refactor to make conversation and router APIs look nicer.