Introduced GenerationContext class