Refactor to use more intuitive naming conventions. The existing code makes it seem as if Signal\Generator implementations actually generate a continuous signal when really they just define the basic waveform that an Oscillator will use to produce a continuous signal.
Renamed SIgnal\IGenerator interface to Signal\IWaveform
Renamed Signal\Generator namespace to Signal\Waveform
Renamed Signal\Generator\WaveTable to Signal\Waveform\Table
Renamed Signal\Generator\IWaveShaper interface to Signal\Waveform\IShaper
Renamed Signal\Generator\WaveShaper namespace to Signal\Waveform\Shaper
Refactor to use more intuitive naming conventions. The existing code makes it seem as if Signal\Generator implementations actually generate a continuous signal when really they just define the basic waveform that an Oscillator will use to produce a continuous signal.