use late static binding in DataGenerator methods