Bitcoin has a nag, it allows to trace transactions... well, this can be solved by using a concentrator-disperser with a secondary database.
Say A, B and C want to remove traces of their coins, they could upload funds for a central wallet, those funds moved upwards to a central "mixer" and returned at random to each of the 3. Basically what this system would be doing would be to shuffle the coins, so A collects a random amount of coins from B and the rest from C, B from C and A and C from A and B.
Obviously with such a small universe of 3 elements it would still be roughly traceable, but with a significant universe this would allow the total wipe of BTC trace. One receiving the payment from A still could trace back those coins, but as the distribution is done by a separate and opaque database whatever he get from the previous ownership of those coins means nothing for what A has been doing or not.
In the end this is a system to trade btc for... btc.