Is there an elegant way to allow a cable to swivel? By swivel, I mean to allow infinite rotation (not limited to a few turns, etc) between the two connectors along the axis of the cable. Say, for example, a USB cable with power, ground, and 2 data lines. I can imagine this being done mechanically, with some sort of brushes, but this seems prone to wear and somewhat bulky. Optical or magnetic methods seem like they might be feasible also - do such devices exist in an inexpensive form? I suppose a wireless data link could avoid the problem entirely, but causes possibly unnecessary EMI and is potentially less reliable.
EDIT: Also, what are these devices even called? I know I've seen at least the mechanical variant before, but can't seem to find them anymore among all the Google noise.