Maybe of interest to you, but FEUD did exactly this. It implements a successful plugin system using DLLS. [https://github.com/genotrance/feud](https://github.com/genotrance/feud)/
It's not super actively developed anymore, but the code might provide some good inspiration. Also the author is active here and on irc (he goes by @shashlick on irc). He might have some good tips.
