Right now, SpectrumGenerator, the user-facing class, is a subclass of AbsorptionSpectrum, where most of the actual calculations are done. This is a relic of its development, in that AbsorptionSpectrum was developed in yt prior to the Trident Project, but then we opted to add a lot of features with the development of SpectrumGenerator that weren't pertinent to the full yt userbase.
But now, it just is a bit confusing to have all of this done in two separate classes and I think the code would be simpler to consolidate these two classes into a single class: SpectrumGenerator. This is a longer-term place-marker Issue for a rainy weekend.