That's a good point about filter names. Really filter is just a keyword, and perhaps should just be changed to key since it is only used to identify different images. For most cases key will just be the filter name.
I think this is a good idea, but it might imply renaming all of these classes to something that implies "consistent dictionary" rather than "multiple filters".
With just a quick glance at afw, I'm not sure I see how TransmissionCurve would be used as a multiband class. Can you give me an example of the type of behavior that you see useful?
This also goes for camera and chip dependent chromatic effects. I've never dealt with this before so I'm not sure what would be useful.
While I suppose we could create a MultiBandTransmissionCurve, if it doesn't do anything more than a simple dictionary of TransmissionCurves I'd rather not. Having multi-band versions of everything we have per-band would be a huge proliferation of classes.
Camera- and chip-dependent chromatic effects should be represented by TransmissionCurves (every Exposure should have a TransmissionCurve, and that tells you what its throughput is). I think that's mostly orthogonal to these multi-band classes, but Ian Sullivan, please feel free to make a proposal to augment them if you need them to do more than what they do now.