diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java
index d3fc464c17893121c87a0999892b7805b39d08e8..b6caf3f8cab8148badb6375507ff771239c8cd7f 100644
--- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java
+++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java
@@ -1,6 +1,7 @@
 package org.jastadd.preprocessor.testing.plugin;
 
 import groovy.lang.Closure;
+import org.gradle.api.Action;
 import org.gradle.api.Project;
 import org.gradle.api.file.FileCollection;
 import org.gradle.api.plugins.JavaPlugin;
@@ -30,11 +31,16 @@ public abstract class RagConnectTest extends RelastTest {
     RagConnectTest.ragconnectCompilerLocation = ragconnectCompilerLocation;
   }
 
+//  @SuppressWarnings("unused")
+//  public void ragconnect(Closure<?> c) {
+//    c.setResolveStrategy(DELEGATE_FIRST);
+//    c.setDelegate(getRagconnect());
+//    c.call();
+//  }
+
   @SuppressWarnings("unused")
-  public void ragconnect(Closure<?> c) {
-    c.setResolveStrategy(DELEGATE_FIRST);
-    c.setDelegate(getRagconnect());
-    c.call();
+  public void ragconnect(Action<? super RagConnectConfiguration> action) {
+    action.execute(getRagconnect());
   }
 
   @OutputFiles
diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java
index 1969ba481149dd048d24cb4209ac7bfd1bb2888f..81d380ca0040c934bc74df108c69fd6bfe1411b3 100644
--- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java
+++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java
@@ -1,6 +1,7 @@
 package org.jastadd.preprocessor.testing.plugin;
 
 import groovy.lang.Closure;
+import org.gradle.api.Action;
 import org.gradle.api.DefaultTask;
 import org.gradle.api.Project;
 import org.gradle.api.file.FileCollection;
@@ -46,18 +47,28 @@ public abstract class RelastTest extends DefaultTask {
     return Paths.get(getProject().getProjectDir().getAbsolutePath(), filename);
   }
 
+//  @SuppressWarnings("unused")
+//  public void relast(Closure<?> c) {
+//    c.setResolveStrategy(DELEGATE_FIRST);
+//    c.setDelegate(getRelast());
+//    c.call();
+//  }
+
   @SuppressWarnings("unused")
-  public void relast(Closure<?> c) {
-    c.setResolveStrategy(DELEGATE_FIRST);
-    c.setDelegate(getRelast());
-    c.call();
+  public void relast(Action<? super RelastConfiguration> action) {
+    action.execute(getRelast());
   }
 
+//  @SuppressWarnings("unused")
+//  public void jastadd(Closure<?> c) {
+//    c.setResolveStrategy(DELEGATE_FIRST);
+//    c.setDelegate(getJastadd());
+//    c.call();
+//  }
+
   @SuppressWarnings("unused")
-  public void jastadd(Closure<?> c) {
-    c.setResolveStrategy(DELEGATE_FIRST);
-    c.setDelegate(getJastadd());
-    c.call();
+  public void jastadd(Action<? super JastAddConfiguration> action) {
+    action.execute(getJastadd());
   }
 
   @TaskAction