Refractor CovariateGenerators
Add required/optional capability in datagen