So here's an idea. People could exchange a donor with a "restocking fee" added. Say someone wants to upgrade their shield. They pay the additional cost of the better shield and then pay a restocking fee of $10 or something (so as to not drive GMs nutz).
Just a thought.
