If you think it would be useful, you could keep track of a good set of wavelengths at which to evaluate the bandpass by storing a `wave_list` attribute.  Then you can propagate this along when you wrap a bandpass's function (e.g. when multiplying by a scalar or whatever).  If the function doesn't have any preference about where to evaluate, then you can just have `wave_list = None`.

I don't think you currently really use the list of wavelenghts from the LookupTable, but I can certainly see that being a possibly more efficient option for integration.  e.g. a trapezoid rule that just uses the list of wavelengths as the locations at which to evaluate the function, rather than using a uniform spacing of N values.