ascoltatore forced to use randomizable interface instead of Math.random