xhippo could be rewritten to use pluggable interfaces.
I got halfway through rewriting xhippo in C++ before giving up in disgust; yes, this is nice from the end-user perspective, but it means introducing a lot of abstraction, and xhippo's such a small app that it would probably be easier to just maintain different branches of it.