SAVE POINT
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinJvmVariantFactoryTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinJvmVariantFactoryTest.kt
index eeff68b..14a7240 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinJvmVariantFactoryTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinJvmVariantFactoryTest.kt
@@ -86,11 +86,12 @@
     @Test
     fun `test custom configure compileDependenciesConfiguration`() {
         val variant = KotlinJvmVariantFactory(
-            KotlinJvmVariantInstantiator(kotlin.main),
-            KotlinJvmVariantConfigurator(compileDependenciesConfigurator = { fragment, configuration ->
-                assertSame(fragment.compileDependenciesConfiguration, configuration)
-                configuration.attributes.attribute(testAttribute, "compileDependencies")
-            })
+            kotlin.main, KotlinJvmVariantConfig(
+                compileDependencies = DefaultKotlinCompileDependenciesDefinition + FragmentAttributes { fragment ->
+                    assertSame(fragment.compileDependenciesConfiguration.attributes, this)
+                    attribute(testAttribute, "compileDependencies")
+                }
+            )
         ).create("jvm")
 
         assertEquals(
@@ -101,11 +102,12 @@
     @Test
     fun `test custom configure runtimeDependenciesConfiguration`() {
         val variant = KotlinJvmVariantFactory(
-            KotlinJvmVariantInstantiator(kotlin.main),
-            KotlinJvmVariantConfigurator(runtimeDependenciesConfigurator = { fragment, configuration ->
-                assertSame(fragment.runtimeDependenciesConfiguration, configuration)
-                configuration.attributes.attribute(testAttribute, "runtimeDependencies")
-            })
+            kotlin.main, KotlinJvmVariantConfig(
+                runtimeDependencies = DefaultKotlinRuntimeDependenciesDefinition + FragmentAttributes { fragment ->
+                    assertSame(fragment.runtimeDependenciesConfiguration.attributes, this)
+                    attribute(testAttribute, "runtimeDependencies")
+                }
+            )
         ).create("jvm")
 
         assertEquals(
@@ -116,10 +118,12 @@
     @Test
     fun `test custom configure apiElementsConfiguration`() {
         val variant = KotlinJvmVariantFactory(
-            KotlinJvmVariantInstantiator(kotlin.main), KotlinJvmVariantConfigurator(apiElementsConfigurator = { fragment, configuration ->
-                assertSame(fragment.apiElementsConfiguration, configuration)
-                configuration.attributes.attribute(testAttribute, "apiElements")
-            })
+            kotlin.main, KotlinJvmVariantConfig(
+                apiElements = DefaultKotlinApiElementsDefinition + FragmentAttributes { fragment ->
+                    assertSame(fragment.apiElementsConfiguration.attributes, this)
+                    attribute(testAttribute, "apiElements")
+                }
+            )
         ).create("jvm")
 
         assertEquals(
@@ -130,11 +134,12 @@
     @Test
     fun `test custom configure runtimeElementsConfiguration`() {
         val variant = KotlinJvmVariantFactory(
-            KotlinJvmVariantInstantiator(kotlin.main),
-            KotlinJvmVariantConfigurator(runtimeElementsConfigurator = { fragment, configuration ->
-                assertSame(fragment.runtimeElementsConfiguration, configuration)
-                configuration.attributes.attribute(testAttribute, "runtimeElements")
-            })
+            kotlin.main, KotlinJvmVariantConfig(
+                runtimeElements = DefaultKotlinRuntimeElementsDefinition + FragmentAttributes { fragment ->
+                    assertSame(fragment.runtimeElementsConfiguration.attributes, this)
+                    attribute(testAttribute, "runtimeElements")
+                }
+            )
         ).create("jvm")
 
         assertEquals(
@@ -145,12 +150,13 @@
     @Test
     fun `test custom sourceDirectories configuration`() {
         val variant = KotlinJvmVariantFactory(
-            KotlinJvmVariantInstantiator(kotlin.main),
-            KotlinJvmVariantConfigurator(sourceDirectoriesConfigurator = object : KotlinSourceDirectoriesConfigurator<KotlinJvmVariant> {
-                override fun configure(fragment: KotlinJvmVariant) {
-                    fragment.kotlinSourceRoots.setSrcDirs(listOf(project.file("src/abc/kotlin")))
+            kotlin.main, KotlinJvmVariantConfig(
+                sourceDirectoriesConfigurator = object : KotlinSourceDirectoriesConfigurator<KotlinJvmVariant> {
+                    override fun configure(fragment: KotlinJvmVariant) {
+                        fragment.kotlinSourceRoots.setSrcDirs(listOf(project.file("src/abc/kotlin")))
+                    }
                 }
-            })
+            )
         ).create("jvm")
 
         assertEquals(listOf(project.file("src/abc/kotlin")), variant.kotlinSourceRoots.srcDirs.toList())
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinNativeVariantFactoryTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinNativeVariantFactoryTest.kt
index 710f971..91423c5 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinNativeVariantFactoryTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/KotlinNativeVariantFactoryTest.kt
@@ -29,9 +29,7 @@
 
     @BeforeTest
     fun createVariant() {
-        variant = KotlinNativeVariantFactory(
-            KotlinNativeVariantInstantiator(kotlin.main, variantConstructor)
-        ).create("native")
+        variant = KotlinNativeVariantFactory(kotlin.main, variantConstructor).create("native")
     }
 
     @Test