diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..943d6e8e9e467ffc4b5a00865e80e09b56d4502b
--- /dev/null
+++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.java
@@ -0,0 +1,10 @@
+package de.tobias.playpad.action.actions.cart.handler;
+
+import de.thecodelabs.midi.event.KeyEventType;
+import de.tobias.playpad.action.actions.CartAction;
+import de.tobias.playpad.pad.Pad;
+
+public interface CartActionHandler
+{
+	void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad);
+}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.scala
deleted file mode 100644
index 68e7102c0ed6b2764605fc88aff46d9127d2972c..0000000000000000000000000000000000000000
--- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandler.scala
+++ /dev/null
@@ -1,10 +0,0 @@
-package de.tobias.playpad.action.actions.cart.handler
-
-import de.thecodelabs.midi.event.KeyEventType
-import de.tobias.playpad.action.actions.CartAction
-import de.tobias.playpad.pad.Pad
-
-trait CartActionHandler {
-
-	def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit
-}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..39e45b2d81e9373683f976647730f58d964bf744
--- /dev/null
+++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.java
@@ -0,0 +1,27 @@
+package de.tobias.playpad.action.actions.cart.handler;
+
+import de.tobias.playpad.action.actions.CartAction;
+
+public class CartActionHandlerFactory
+{
+	private CartActionHandlerFactory()
+	{
+	}
+
+	public static CartActionHandler getInstance(CartAction.CartActionMode cartActionMode)
+	{
+		switch(cartActionMode)
+		{
+			case PLAY_PAUSE:
+				return new PlayPauseHandler();
+			case PLAY_STOP:
+				return new PlayStopHandler();
+			case PLAY_HOLD:
+				return new PlayHoldHandler();
+			case PLAY_PLAY:
+				return new PlayPlayHandler();
+			default:
+				return null;
+		}
+	}
+}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.scala
deleted file mode 100644
index 05a7a32b0777fcd0df6b628ecd9a407ec9860efc..0000000000000000000000000000000000000000
--- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/CartActionHandlerFactory.scala
+++ /dev/null
@@ -1,15 +0,0 @@
-package de.tobias.playpad.action.actions.cart.handler
-
-import de.tobias.playpad.action.actions.CartAction.CartActionMode
-
-object CartActionHandlerFactory {
-
-	def getInstance(cartActionMode: CartActionMode): CartActionHandler = {
-		cartActionMode match {
-			case CartActionMode.PLAY_STOP => new PlayStopHandler()
-			case CartActionMode.PLAY_PAUSE => new PlayPauseHandler()
-			case CartActionMode.PLAY_HOLD => new PlayHoldHandler()
-			case CartActionMode.PLAY_PLAY => new PlayPlayHandler()
-		}
-	}
-}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..164e7977f7a22f9ee44143d4d105762444f9febd
--- /dev/null
+++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.java
@@ -0,0 +1,27 @@
+package de.tobias.playpad.action.actions.cart.handler;
+
+import de.thecodelabs.midi.event.KeyEventType;
+import de.tobias.playpad.action.actions.CartAction;
+import de.tobias.playpad.pad.Pad;
+
+public class PlayHoldHandler implements CartActionHandler
+{
+	@Override
+	public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad)
+	{
+		if(keyEventType.equals(KeyEventType.DOWN))
+		{
+			if(pad.isReady())
+			{
+				pad.play();
+			}
+		}
+		else if(keyEventType.equals(KeyEventType.UP))
+		{
+			if(pad.isPlay())
+			{
+				pad.stop();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.scala
deleted file mode 100644
index 1aa63b52c8dbc071bcd89fb271272dadb25a0511..0000000000000000000000000000000000000000
--- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayHoldHandler.scala
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tobias.playpad.action.actions.cart.handler
-
-import de.thecodelabs.midi.event.KeyEventType
-import de.tobias.playpad.action.actions.CartAction
-import de.tobias.playpad.pad.Pad
-
-class PlayHoldHandler extends CartActionHandler {
-
-	override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = {
-		if (keyEventType eq KeyEventType.DOWN) {
-			if (pad.isReady) {
-				pad.play()
-			}
-		} else if (keyEventType eq KeyEventType.UP) {
-			if (pad.isPlay) {
-				pad.stop()
-			}
-		}
-	}
-}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..859ececd5d4e9d1cadefb2d89812ff97973f789d
--- /dev/null
+++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.java
@@ -0,0 +1,25 @@
+package de.tobias.playpad.action.actions.cart.handler;
+
+import de.thecodelabs.midi.event.KeyEventType;
+import de.tobias.playpad.action.actions.CartAction;
+import de.tobias.playpad.pad.Pad;
+
+public class PlayPauseHandler implements CartActionHandler
+{
+	@Override
+	public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad)
+	{
+		if(keyEventType.equals(KeyEventType.DOWN))
+		{
+			if(pad.isPlay())
+			{
+				pad.pause();
+			}
+			else
+			{ // Allow the listener to send the feedback
+				// cartAction.getPadPositionListener.setSend(false) TODO Fix
+				pad.play();
+			}
+		}
+	}
+}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.scala
deleted file mode 100644
index 87c26d4ed6f1aaf0c3afbbb8cc50cd8033381db0..0000000000000000000000000000000000000000
--- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPauseHandler.scala
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tobias.playpad.action.actions.cart.handler
-
-import de.thecodelabs.midi.event.KeyEventType
-import de.tobias.playpad.action.actions.CartAction
-import de.tobias.playpad.pad.Pad
-
-class PlayPauseHandler extends CartActionHandler {
-
-	override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = {
-		if (keyEventType eq KeyEventType.DOWN) {
-			if (pad.isPlay) {
-				pad.pause()
-			}
-			else { // Allow the listener to send the feedback
-				// cartAction.getPadPositionListener.setSend(false) TODO Fix
-				pad.play()
-			}
-		}
-	}
-}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..87b716988a04dec294b71d43afe0e1b1740ab6ba
--- /dev/null
+++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.java
@@ -0,0 +1,19 @@
+package de.tobias.playpad.action.actions.cart.handler;
+
+import de.thecodelabs.midi.event.KeyEventType;
+import de.tobias.playpad.action.actions.CartAction;
+import de.tobias.playpad.pad.Pad;
+import de.tobias.playpad.pad.PadStatus;
+
+public class PlayPlayHandler implements CartActionHandler
+{
+
+	@Override
+	public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad)
+	{
+		if(keyEventType.equals(KeyEventType.DOWN))
+		{
+			pad.setStatus(PadStatus.RESTART);
+		}
+	}
+}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.scala
deleted file mode 100644
index fec8eebc41c563e11a12bede31da19e7ae882141..0000000000000000000000000000000000000000
--- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayPlayHandler.scala
+++ /dev/null
@@ -1,14 +0,0 @@
-package de.tobias.playpad.action.actions.cart.handler
-
-import de.thecodelabs.midi.event.KeyEventType
-import de.tobias.playpad.action.actions.CartAction
-import de.tobias.playpad.pad.{Pad, PadStatus}
-
-class PlayPlayHandler extends CartActionHandler {
-
-	override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = {
-		if (keyEventType eq KeyEventType.DOWN) {
-			pad.setStatus(PadStatus.RESTART)
-		}
-	}
-}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.java b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..091f28a5cc9e9f43d577aa42c1b6c3f92a136f31
--- /dev/null
+++ b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.java
@@ -0,0 +1,25 @@
+package de.tobias.playpad.action.actions.cart.handler;
+
+import de.thecodelabs.midi.event.KeyEventType;
+import de.tobias.playpad.action.actions.CartAction;
+import de.tobias.playpad.pad.Pad;
+
+public class PlayStopHandler implements CartActionHandler
+{
+	@Override
+	public void performAction(KeyEventType keyEventType, CartAction cartAction, Pad pad)
+	{
+		if(keyEventType.equals(KeyEventType.DOWN))
+		{
+			if(pad.isPlay())
+			{
+				pad.stop();
+			}
+			else
+			{ // Allow the listener to send the feedback
+				// cartAction.getPadPositionListener.setSend(false) TODO Fix
+				pad.play();
+			}
+		}
+	}
+}
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.scala b/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.scala
deleted file mode 100644
index 11957fa9729dc897f75c0aa43c9544f732ca5d01..0000000000000000000000000000000000000000
--- a/PlayWall/src/main/scala/de/tobias/playpad/action/actions/cart/handler/PlayStopHandler.scala
+++ /dev/null
@@ -1,19 +0,0 @@
-package de.tobias.playpad.action.actions.cart.handler
-
-import de.thecodelabs.midi.event.KeyEventType
-import de.tobias.playpad.action.actions.CartAction
-import de.tobias.playpad.pad.Pad
-
-class PlayStopHandler extends CartActionHandler {
-
-	override def performAction(keyEventType: KeyEventType, cartAction: CartAction, pad: Pad): Unit = {
-		if (keyEventType eq KeyEventType.DOWN) {
-			if (pad.isPlay) {
-				pad.stop()
-			} else { // Allow the listener to send the feedback
-				// cartAction.getPadPositionListener.setSend(false) TODO Fix
-				pad.play()
-			}
-		}
-	}
-}