can be either ColorScale or InterpolatedColorScale