I just re-organized the code from my experimentation into something more
useful. SpectrumListener now just passes the buck on to an instance of a
Visualization class. Visualization is an abstract class that merely
ensure that subclasses have an Update method. SpectrumBars is the
specific Visualization I showed you guys.