Started implementing Factory.GenerateWave method