diff --git a/src/test/java/com/googlecode/lanterna/gui2/TestBase.java b/src/test/java/com/googlecode/lanterna/gui2/TestBase.java
index <HASH>..<HASH> 100644
--- a/src/test/java/com/googlecode/lanterna/gui2/TestBase.java
+++ b/src/test/java/com/googlecode/lanterna/gui2/TestBase.java
@@ -13,7 +13,7 @@ public abstract class TestBase {
     void run(String[] args) throws IOException, InterruptedException {
         Screen screen = new TestTerminalFactory(args).createScreen();
         screen.startScreen();
-        MultiWindowTextGUI textGUI = new MultiWindowTextGUI(new SeparateTextGUIThread.Factory(), screen);
+        MultiWindowTextGUI textGUI = createTextGUI(screen);
         textGUI.setBlockingIO(false);
         textGUI.setEOFWhenNoWindows(true);
         textGUI.isEOFWhenNoWindows();   //No meaning, just to silence IntelliJ:s "is never used" alert
@@ -29,5 +29,9 @@ public abstract class TestBase {
         }
     }
 
+    protected MultiWindowTextGUI createTextGUI(Screen screen) {
+        return new MultiWindowTextGUI(new SeparateTextGUIThread.Factory(), screen);
+    }
+
     public abstract void init(WindowBasedTextGUI textGUI);
 }
Allow the tests to customize how the TextGUI is created