I just read your description of the cleaning process.
I think that instead of decoupling wxw from the code you should drop it altogether and just make it easy (JSON-RPC is easy

) to implement one as an extra layer.
Of course, that was the whole point of my "libBitCoin" initiative. But because I failed at that, what I want to do is decouple wx, one step at a time, and once this is done, extract libBitCoin out of bitcoin.