#generator-evaluator-pattern