Replaced WaveGenerator with Wave interface
Minor refactoring