Pluginify this thing a little bit. Not so much in the dynamically loadable sense of the word, more in a way that core files don't have to include otr.h.