Porting over SignalGenerator