Introduce FaultGenerator and OutcomeGenerator<T>
#1911
Merged
FaultGenerator and OutcomeGenerator<T>
#1911