Features in Multimedia
CollectionFactory classes should be in charge of dealing with Collection classes, and nothing else.
Introducing the MediaDeviceMonitor, another layer on top the MediaDeviceCache and Solid, which takes care of lower-level hardware detection, connection, and disconnection.
Media Device Collection classes plug into it and seamlessly get the needed information to build Collections, without doing dirty work. See IpodCollection for reference implementation.