add OscillatorPlayer for fun before we have to refactor again