public SingleStepOutputGenerationStrategy() {
OutputGenerationContextVisitorFactory contextVisitorFactory = new FizzBuzzOutputGenerationContextVisitorFactory();
contextVisitor = contextVisitorFactory.createVisitor();
final IsEvenlyDivisibleStrategyFactory myFizzStrategyFactory = new FizzStrategyFactory();
final StringPrinterFactory myFizzStringPrinterFactory = new FizzStringPrinterFactory();
contexts.add(new FizzBuzzOutputGenerationContext(myFizzStrategyFactory.createIsEvenlyDivisibleStrategy(), myFizzStringPrinterFactory.createStringPrinter()));
final IsEvenlyDivisibleStrategyFactory myBuzzStrategyFactory = new BuzzStrategyFactory();
final StringPrinterFactory myBuzzStringPrinterFactory = new BuzzStringPrinterFactory();
contexts.add(new FizzBuzzOutputGenerationContext(myBuzzStrategyFactory.createIsEvenlyDivisibleStrategy(), myBuzzStringPrinterFactory.createStringPrinter()));