So, I was thinking, would it be possible to make sections of the wallet code, such as diff algo, graphics, communications, etc, modules that could be upgraded on the fly by pushing the changes through a communications channel (like the network alert function) causing the wallet to auto upgrade without user intervention?
For example, you are trying to determine the final "fix" for the current problem without actually being able to run different scenarios to test the changes in real time, in the wild. If you could simply "broadcast" an update, it would allow an immediate upgrade. If something was not to your liking, you could put the old code (module) back almost immediately.
And for those who might say "too centralized", I say it's really no different that having everyone update to a new version of the wallet, just quicker and more efficient.
Something to consider...
Centrality is the least of your problems then, the security hole (with potential huge losses) would be a bigger problem. And lets say.. you're standing in the store planning to start paying and some update comes in, messes up your wallet (or the device of the shop owner)... people would not be happy with that.
Check the antivirus sector... enough examples where they messed up big with their daily auto-updates of virus definitions.