This. If it is GUI related, you can just isolate the core classes and put your GUI code in a seperate file..
Or just make a GUI as a front-end for bitcoind, no need to edit the original code at all, just send API commands to the daemon.
I like the idea but you'd depend on bitcoind for portability.