diff --git a/PlayWall/src/main/java/de/tobias/playpad/RegistryCollectionImpl.java b/PlayWall/src/main/java/de/tobias/playpad/RegistryCollectionImpl.java
index debfde8f7621009b58bd016c69830fc451ee7596..283669c4d69433f36eb2ba8b4b7abeff41df3edf 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/RegistryCollectionImpl.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/RegistryCollectionImpl.java
@@ -1,6 +1,6 @@
 package de.tobias.playpad;
 
-import de.tobias.playpad.action.ActionFactory;
+import de.tobias.playpad.action.ActionProvider;
 import de.tobias.playpad.action.mapper.MapperFactory;
 import de.tobias.playpad.audio.AudioRegistry;
 import de.tobias.playpad.pad.content.PadContentRegistry;
@@ -14,7 +14,7 @@ import de.tobias.playpad.view.main.MainLayoutFactory;
 
 public class RegistryCollectionImpl implements Registries {
 
-	private Registry<ActionFactory> actionRegistry;
+	private Registry<ActionProvider> actionRegistry;
 	private AudioRegistry audioHandlerRegistry;
 	private Registry<PadDragMode> dragModeRegistry;
 	private Registry<MapperFactory> mapperRegistry;
@@ -33,7 +33,7 @@ public class RegistryCollectionImpl implements Registries {
 	}
 
 	@Override
-	public Registry<ActionFactory> getActions() {
+	public Registry<ActionProvider> getActions() {
 		return actionRegistry;
 	}
 
diff --git a/PlayWall/src/main/java/de/tobias/playpad/action/actions/cart/CartAction.java b/PlayWall/src/main/java/de/tobias/playpad/action/actions/cart/CartAction.java
index eec9a3cd8a041f07c0f6d8ffb6ecb27cd32ce153..e82cfa59339af244c5531a7ab2f798211c9870c9 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/action/actions/cart/CartAction.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/action/actions/cart/CartAction.java
@@ -142,7 +142,7 @@ public class CartAction extends Action implements ColorAdjustable {
 		return FeedbackType.DOUBLE;
 	}
 
-	void setPad(Pad newPad) {
+	private void setPad(Pad newPad) {
 		Pad oldPad = this.pad;
 		if (newPad == null || !newPad.equals(oldPad)) {
 			removeOldListener(oldPad);
@@ -203,7 +203,7 @@ public class CartAction extends Action implements ColorAdjustable {
 	// UI Helper
 	@Override
 	public String toString() {
-		return Localization.getString(Strings.Action_Cart_toString, String.valueOf(x) + ", " + String.valueOf(y));
+		return Localization.getString(Strings.Action_Cart_toString, x + ", " + y);
 	}
 
 	@Override
@@ -216,9 +216,9 @@ public class CartAction extends Action implements ColorAdjustable {
 	@Override
 	public NVC getSettingsViewController() {
 		if (cartActionViewController == null) {
-			cartActionViewController = new CartActionViewController();
+			CartAction.cartActionViewController = new CartActionViewController();
 		}
-		cartActionViewController.setCartAction(this);
+		CartAction.cartActionViewController.setCartAction(this);
 		return cartActionViewController;
 	}
 
@@ -231,11 +231,11 @@ public class CartAction extends Action implements ColorAdjustable {
 	@Override
 	public void load(Element root) {
 		if (root.attributeValue(X_ATTR) != null)
-			x = Integer.valueOf(root.attributeValue(X_ATTR));
+			x = Integer.parseInt(root.attributeValue(X_ATTR));
 		if (root.attributeValue(Y_ATTR) != null)
-			y = Integer.valueOf(root.attributeValue(Y_ATTR));
+			y = Integer.parseInt(root.attributeValue(Y_ATTR));
 		setMode(CartActionMode.valueOf(root.attributeValue(CONTROL_MODE)));
-		autoFeedbackColors = Boolean.valueOf(root.attributeValue(AUTO_FEEDBACK_COLORS));
+		autoFeedbackColors = Boolean.parseBoolean(root.attributeValue(AUTO_FEEDBACK_COLORS));
 	}
 
 	@Override
diff --git a/PlayWall/src/main/java/de/tobias/playpad/action/factory/CartActionFactory.java b/PlayWall/src/main/java/de/tobias/playpad/action/factory/CartActionProvider.java
similarity index 78%
rename from PlayWall/src/main/java/de/tobias/playpad/action/factory/CartActionFactory.java
rename to PlayWall/src/main/java/de/tobias/playpad/action/factory/CartActionProvider.java
index f8ad9f6cf81970f8387116dcd0e71d339c730d2d..0d9402c5f5aba4182df272111b1b8bb1ac014eeb 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/action/factory/CartActionFactory.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/action/factory/CartActionProvider.java
@@ -12,16 +12,15 @@ import javafx.scene.control.TreeItem;
 
 import java.util.List;
 
-public class CartActionFactory extends ActionFactory implements ActionDisplayable {
+public class CartActionProvider extends ActionProvider implements ActionDisplayable {
 
-	public CartActionFactory(String type) {
+	public CartActionProvider(String type) {
 		super(type);
 	}
 
 	@Override
 	public TreeItem<ActionDisplayable> getTreeViewForActions(List<Action> actions, Mapping mapping) {
-		TreeItem<ActionDisplayable> rootItem = new TreeItem<>(this);
-		return rootItem;
+		return new TreeItem<>(this);
 	}
 
 	@Override
@@ -34,8 +33,6 @@ public class CartActionFactory extends ActionFactory implements ActionDisplayabl
 		}
 	}
 
-	// Settings View (Übersicht mit den Buttons). Die Buttons rufen dann die jeweilige CartAction auf. Da muss dann auch die MapperView
-	// manuell gesetzt werden.
 	@Override
 	public NVC getActionSettingsViewController(Mapping mapping, IMappingTabViewController controller) {
 		return new CartActionTypeViewController(mapping, controller);
diff --git a/PlayWall/src/main/java/de/tobias/playpad/action/factory/NavigateActionFactory.java b/PlayWall/src/main/java/de/tobias/playpad/action/factory/NavigateActionProvider.java
similarity index 91%
rename from PlayWall/src/main/java/de/tobias/playpad/action/factory/NavigateActionFactory.java
rename to PlayWall/src/main/java/de/tobias/playpad/action/factory/NavigateActionProvider.java
index b492e0c407ba5438b3441ab6dc4e59a5e2da4fe8..676c88f74bc1ae0bb2e58b568c7e6734133b74da 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/action/factory/NavigateActionFactory.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/action/factory/NavigateActionProvider.java
@@ -9,9 +9,9 @@ import javafx.scene.control.TreeItem;
 
 import java.util.List;
 
-public class NavigateActionFactory extends ActionFactory implements ActionDisplayable {
+public class NavigateActionProvider extends ActionProvider implements ActionDisplayable {
 
-	public NavigateActionFactory(String type) {
+	public NavigateActionProvider(String type) {
 		super(type);
 	}
 
diff --git a/PlayWall/src/main/java/de/tobias/playpad/action/factory/PageActionFactory.java b/PlayWall/src/main/java/de/tobias/playpad/action/factory/PageActionProvider.java
similarity index 91%
rename from PlayWall/src/main/java/de/tobias/playpad/action/factory/PageActionFactory.java
rename to PlayWall/src/main/java/de/tobias/playpad/action/factory/PageActionProvider.java
index 0669e2f4e8f1f703e8fb3084c90c4f601bce69dd..fe37595082f827044c2f39b3095daee653907d57 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/action/factory/PageActionFactory.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/action/factory/PageActionProvider.java
@@ -10,9 +10,9 @@ import javafx.scene.control.TreeItem;
 import java.util.Collections;
 import java.util.List;
 
-public class PageActionFactory extends ActionFactory implements ActionDisplayable {
+public class PageActionProvider extends ActionProvider implements ActionDisplayable {
 
-	public PageActionFactory(String type) {
+	public PageActionProvider(String type) {
 		super(type);
 	}
 
diff --git a/PlayWall/src/main/java/de/tobias/playpad/action/factory/StopActionFactory.java b/PlayWall/src/main/java/de/tobias/playpad/action/factory/StopActionProvider.java
similarity index 87%
rename from PlayWall/src/main/java/de/tobias/playpad/action/factory/StopActionFactory.java
rename to PlayWall/src/main/java/de/tobias/playpad/action/factory/StopActionProvider.java
index 4602ffec2d7bf3eff8a7210cfe8e80a2d5cf6d38..fb873eefcd63c6b0d9b55fff7683e7ad1f64618d 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/action/factory/StopActionFactory.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/action/factory/StopActionProvider.java
@@ -7,9 +7,9 @@ import javafx.scene.control.TreeItem;
 
 import java.util.List;
 
-public class StopActionFactory extends ActionFactory {
+public class StopActionProvider extends ActionProvider {
 
-	public StopActionFactory(String type) {
+	public StopActionProvider(String type) {
 		super(type);
 	}
 
diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/actions/CartActionTypeViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/actions/CartActionTypeViewController.java
index dca322dd2fc3199cac4134eeb192cee2a8dcb356..5d3f52673eae254cf32b1f26d1a2a5844fddd321 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/actions/CartActionTypeViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/actions/CartActionTypeViewController.java
@@ -3,10 +3,10 @@ package de.tobias.playpad.viewcontroller.actions;
 import de.thecodelabs.utils.ui.NVC;
 import de.tobias.playpad.PlayPadMain;
 import de.tobias.playpad.PlayPadPlugin;
-import de.tobias.playpad.action.ActionFactory;
+import de.tobias.playpad.action.ActionProvider;
 import de.tobias.playpad.action.Mapping;
 import de.tobias.playpad.action.actions.cart.CartAction;
-import de.tobias.playpad.action.factory.CartActionFactory;
+import de.tobias.playpad.action.factory.CartActionProvider;
 import de.tobias.playpad.project.Project;
 import de.tobias.playpad.project.ProjectSettings;
 import de.tobias.playpad.registry.NoSuchComponentException;
@@ -95,7 +95,7 @@ public class CartActionTypeViewController extends NVC {
 						int currentY = data[1];
 
 						try {
-							ActionFactory actionFactory = PlayPadPlugin.getRegistries().getActions().getFactory(CartActionFactory.class);
+							ActionProvider actionFactory = PlayPadPlugin.getRegistries().getActions().getFactory(CartActionProvider.class);
 
 							List<CartAction> cartActions = mapping.getActions(actionFactory);
 							for (CartAction action : cartActions) {
diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/DesignPadTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/DesignPadTabViewController.java
index 610ee9a69195608b1f368e13d2be78b9666adbb3..f804da086ae219b45e3a1f3babc2ce66b5170622 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/DesignPadTabViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/DesignPadTabViewController.java
@@ -6,7 +6,7 @@ import de.tobias.playpad.PlayPadPlugin;
 import de.tobias.playpad.Strings;
 import de.tobias.playpad.action.Mapping;
 import de.tobias.playpad.action.actions.cart.CartAction;
-import de.tobias.playpad.action.factory.CartActionFactory;
+import de.tobias.playpad.action.factory.CartActionProvider;
 import de.tobias.playpad.design.modern.model.ModernCartDesign;
 import de.tobias.playpad.pad.Pad;
 import de.tobias.playpad.pad.PadSettings;
@@ -101,7 +101,7 @@ public class DesignPadTabViewController extends PadSettingsTabViewController {
 		try {
 			// Mapping Auto Matched Colors
 			Mapping activeMapping = Profile.currentProfile().getMappings().getActiveMapping();
-			List<CartAction> actions = activeMapping.getActions(PlayPadPlugin.getRegistries().getActions().getFactory(CartActionFactory.class));
+			List<CartAction> actions = activeMapping.getActions(PlayPadPlugin.getRegistries().getActions().getFactory(CartActionProvider.class));
 			// Update die Mapper der CartAction
 			actions.stream().filter(action -> action.getPad() != null).filter(action -> action.getPad().getPosition() == pad.getPosition())
 					.forEach(item -> item.init(pad.getProject(), mainViewController));
diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/profile/MappingTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/profile/MappingTabViewController.java
index 57701d9b6afef68d14f9bb31d05f3fce5bdeaa40..269b07d6bf745096c6ec4cce8adc3fda43cbfd90 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/profile/MappingTabViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/profile/MappingTabViewController.java
@@ -131,8 +131,8 @@ public class MappingTabViewController extends ProfileSettingsTabViewController i
 
 	private TreeItem<ActionDisplayable> createTreeView(Mapping mapping) {
 		TreeItem<ActionDisplayable> rootItem = new TreeItem<>();
-		Collection<ActionFactory> types = PlayPadPlugin.getRegistries().getActions().getComponents();
-		List<ActionFactory> sortedTypes = types.stream().sorted(Comparator.comparing(Component::getType)).collect(Collectors.toList());
+		Collection<ActionProvider> types = PlayPadPlugin.getRegistries().getActions().getComponents();
+		List<ActionProvider> sortedTypes = types.stream().sorted(Comparator.comparing(Component::getType)).collect(Collectors.toList());
 
 		// Sort the tpyes for the treeview
 		for (ActionType actionType : ActionType.values()) {
@@ -142,8 +142,8 @@ public class MappingTabViewController extends ProfileSettingsTabViewController i
 		return rootItem;
 	}
 
-	private void createTreeViewForActionType(Mapping mapping, TreeItem<ActionDisplayable> rootItem, List<ActionFactory> sortedTypes, ActionType type) {
-		for (ActionFactory actionFactory : sortedTypes) {
+	private void createTreeViewForActionType(Mapping mapping, TreeItem<ActionDisplayable> rootItem, List<ActionProvider> sortedTypes, ActionType type) {
+		for (ActionProvider actionFactory : sortedTypes) {
 			List<Action> actions = mapping.getActionsOfType(actionFactory);
 			if (actionFactory.geActionType() == type) {
 				TreeItem<ActionDisplayable> item = actionFactory.getTreeViewForActions(actions, mapping);
diff --git a/PlayWall/src/main/resources/components/Actions.xml b/PlayWall/src/main/resources/components/Actions.xml
index 40657cd417a1cb1db6ba48a1dcd3d0c214933e9b..19c631ad9c6a59114c8f3ad02e4330fdfa2f4509 100644
--- a/PlayWall/src/main/resources/components/Actions.xml
+++ b/PlayWall/src/main/resources/components/Actions.xml
@@ -1,16 +1,16 @@
 <Actions>
     <Component id="CART" name="Action.Cart.Name" icon="TH" class="de.thecodelabs.utils.ui.icon.FontAwesomeType"
                size="11">
-        de.tobias.playpad.action.factory.CartActionFactory
+        de.tobias.playpad.action.factory.CartActionProvider
     </Component>
     <Component id="PAGE" name="Action.Page.Name" icon="FILE_TEXT" class="de.thecodelabs.utils.ui.icon.FontAwesomeType"
-               size="11">de.tobias.playpad.action.factory.PageActionFactory
+               size="11">de.tobias.playpad.action.factory.PageActionProvider
     </Component>
     <Component id="NAVIGATE" name="Action.Navigate.Name" icon="NAVIGATION"
                class="de.thecodelabs.utils.ui.icon.MaterialDesignIcon" size="11">
-        de.tobias.playpad.action.factory.NavigateActionFactory
+        de.tobias.playpad.action.factory.NavigateActionProvider
     </Component>
     <Component id="STOP" name="Action.Stop.Name" icon="STOP" class="de.thecodelabs.utils.ui.icon.MaterialDesignIcon"
-               size="11">de.tobias.playpad.action.factory.StopActionFactory
+               size="11">de.tobias.playpad.action.factory.StopActionProvider
     </Component>
 </Actions>
\ No newline at end of file
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala
index 6e1cd15eb644796bb619603d030fdc8828b3c0cd..f014e51722543db1dc41172609a6bef2f770e0b7 100644
--- a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala
+++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala
@@ -29,7 +29,7 @@ class ModernCartDesignHandlerImpl extends ModernCartDesignHandler {
 		val resource = ApplicationUtils.getApplication.getClasspathResource("style/modern-pad.css")
 		val string = resource.getAsString
 
-		val values = Map[String, AnyRef](
+		val values = Map[String, Any](
 			"prefix" -> padIdentifier,
 			"class" -> styleState,
 			"buttonColor" -> color.getButtonColor,
diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala
index 474a16aa632f8002d2b1c618a5e6d1092bd59d83..2640d8e9524345dfd32db3131589767f91274da5 100644
--- a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala
+++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala
@@ -94,7 +94,7 @@ class ModernGlobalDesignHandlerImpl extends ModernGlobalDesignHandler with Color
 		val resource = ApplicationUtils.getApplication.getClasspathResource("style/modern-global.css")
 		val string = resource.getAsString
 
-		val values = Map[String, AnyRef](
+		val values = Map[String, Any](
 			"class" -> styleState,
 			"buttonColor" -> color.getButtonColor,
 			"playbarTrackColor" -> color.getPlaybarColor,
@@ -102,7 +102,7 @@ class ModernGlobalDesignHandlerImpl extends ModernGlobalDesignHandler with Color
 			"padColor" -> (if (design.isFlatDesign) color.paint() else color.linearGradient()),
 			"fontColor" -> color.getFontColor,
 			"infoFontSize" -> s"${design.getInfoFontSize}",
-			"titleFontSize" -> s"${design.getTitleFontSize}",
+			"titleFontSize" -> s"${design.getTitleFontSize}"
 		)
 
 		context.setVariables(values.asJava)
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/Registries.java b/PlayWallCore/src/main/java/de/tobias/playpad/Registries.java
index 81a65794aa1d0be3214b3ddec88e3cd383fc7a9e..9ad4cb02ab675363af7e518ba7391f562e860767 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/Registries.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/Registries.java
@@ -1,6 +1,6 @@
 package de.tobias.playpad;
 
-import de.tobias.playpad.action.ActionFactory;
+import de.tobias.playpad.action.ActionProvider;
 import de.tobias.playpad.action.mapper.MapperFactory;
 import de.tobias.playpad.audio.AudioRegistry;
 import de.tobias.playpad.pad.content.PadContentRegistry;
@@ -19,7 +19,7 @@ import de.tobias.playpad.view.main.MainLayoutFactory;
  */
 public interface Registries {
 
-	Registry<ActionFactory> getActions();
+	Registry<ActionProvider> getActions();
 
 	AudioRegistry getAudioHandlers();
 
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/action/Action.java b/PlayWallCore/src/main/java/de/tobias/playpad/action/Action.java
index 1396a63ece74b5d6e56fcbdff62df6e508237903..976831b5b366c2889f518c47b36ce1385074c605 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/action/Action.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/action/Action.java
@@ -9,6 +9,7 @@ import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import org.dom4j.Element;
 
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 /**
@@ -102,7 +103,7 @@ public abstract class Action implements ActionDisplayable, Cloneable {
 	 */
 	public List<Mapper> getMapperSorted() {
 		List<Mapper> list = mapping.getMapperForAction(this);
-		list.sort((Mapper o1, Mapper o2) -> o1.getType().compareTo(o2.getType()));
+		list.sort(Comparator.comparing(Mapper::getType));
 		return Collections.unmodifiableList(list);
 	}
 
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionDisplayable.java b/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionDisplayable.java
index 77987700209a3a74dfa835885af1f7f41eba69dd..be712ab84f5d0b2eb48f4f77c54cac4b8a40d91d 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionDisplayable.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionDisplayable.java
@@ -5,20 +5,19 @@ import de.tobias.playpad.Displayable;
 import de.tobias.playpad.viewcontroller.IMappingTabViewController;
 
 /**
- * Einn zusätzliches Interface für die Klasse {@link ActionFactory} oder {@link Action} mit der es möglich ist für ein ActionType oder eine
+ * Einn zusätzliches Interface für die Klasse {@link ActionProvider} oder {@link Action} mit der es möglich ist für ein ActionType oder eine
  * Action Einstellungen anzuzeigen.
  *
  * @author tobias
  * @since 5.0.0
  */
-// TODO Redo
 public interface ActionDisplayable extends Displayable {
 
 	/**
-	 * Erlaubt es einen ViewController für diesen ActionType oder die Action zu schalten.
+	 * Provide a general settings controller for type of actions
 	 *
-	 * @param mapping    Aktuelles Mapping
-	 * @param controller Aktueller ViewController für das Mapping
+	 * @param mapping    current mapping
+	 * @param controller current
 	 * @return ViewController für den ActionType
 	 */
 	default NVC getActionSettingsViewController(Mapping mapping, IMappingTabViewController controller) {
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionFactory.java b/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionProvider.java
similarity index 93%
rename from PlayWallCore/src/main/java/de/tobias/playpad/action/ActionFactory.java
rename to PlayWallCore/src/main/java/de/tobias/playpad/action/ActionProvider.java
index d1855dbb335966015e59e840f0a1f8b3ed21d733..d01d260676d3b18cc53b743da858b4b16081246c 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionFactory.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionProvider.java
@@ -13,9 +13,9 @@ import java.util.List;
  * @see Action Implementierung der eigentlichen Action.
  * @since 5.0.0
  */
-public abstract class ActionFactory extends Component {
+public abstract class ActionProvider extends Component {
 
-	public ActionFactory(String type) {
+	public ActionProvider(String type) {
 		super(type);
 	}
 
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionSerializer.java b/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionSerializer.java
index 4b00a077ddb4e6ab36637565f1a5cabe8abd39c0..43a3126a1299192998ee814c89a1050c8314a779 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionSerializer.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/action/ActionSerializer.java
@@ -42,7 +42,7 @@ public class ActionSerializer implements XMLSerializer<Action>, XMLDeserializer<
 		String type = element.attributeValue(ACTION_TYPE);
 
 		try {
-			final Registry<ActionFactory> actions = PlayPadPlugin.getRegistries().getActions();
+			final Registry<ActionProvider> actions = PlayPadPlugin.getRegistries().getActions();
 			Action action = actions.getFactory(type).newInstance();
 			action.load(element);
 
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/action/Mapping.java b/PlayWallCore/src/main/java/de/tobias/playpad/action/Mapping.java
index bd40604833c5b0ca798fc9deb966a7025364096d..96c77990a57d2c55851eba4e54aca36eb5e43b13 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/action/Mapping.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/action/Mapping.java
@@ -57,11 +57,11 @@ public class Mapping implements Cloneable, ActionDisplayable {
 	}
 
 	@SuppressWarnings("unchecked")
-	public <T extends Action> List<T> getActions(ActionFactory type) {
+	public <T extends Action> List<T> getActions(ActionProvider type) {
 		return (List<T>) getActionsOfType(type);
 	}
 
-	public List<Action> getActionsOfType(ActionFactory actionFactory) {
+	public List<Action> getActionsOfType(ActionProvider actionFactory) {
 		return mapping.keySet().stream().filter(i -> i.getType().equals(actionFactory.getType())).collect(Collectors.toList());
 	}
 
@@ -102,8 +102,8 @@ public class Mapping implements Cloneable, ActionDisplayable {
 	}
 
 	public void initActionType(Profile profile) {
-		Registry<ActionFactory> actions = PlayPadPlugin.getRegistries().getActions();
-		for (ActionFactory component : actions.getComponents()) {
+		Registry<ActionProvider> actions = PlayPadPlugin.getRegistries().getActions();
+		for (ActionProvider component : actions.getComponents()) {
 			component.initActionType(this, profile);
 		}
 	}
diff --git a/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/action/BlackActionFactory.java b/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/action/BlackActionFactory.java
index ea8bbc56b99f0011ec2c8b4b79d4e35bca260f08..a9c44fba087b94281cef62b9a9be4eb84f59b600 100644
--- a/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/action/BlackActionFactory.java
+++ b/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/action/BlackActionFactory.java
@@ -6,7 +6,7 @@ import javafx.scene.control.TreeItem;
 
 import java.util.List;
 
-public class BlackActionFactory extends ActionFactory {
+public class BlackActionFactory extends ActionProvider {
 
 	static final String TYPE = "BLACK";
 
diff --git a/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/main/impl/MediaPluginImpl.java b/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/main/impl/MediaPluginImpl.java
index 0f26d81e629b8a63cb72d2772bd17a9b6978ae7f..0a93f6de9c6daa3af0bdaa46d50b9feebe7fa037 100644
--- a/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/main/impl/MediaPluginImpl.java
+++ b/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/main/impl/MediaPluginImpl.java
@@ -8,7 +8,7 @@ import de.thecodelabs.utils.ui.icon.FontIcon;
 import de.thecodelabs.utils.ui.scene.HUD;
 import de.thecodelabs.utils.util.Localization;
 import de.tobias.playpad.PlayPadPlugin;
-import de.tobias.playpad.action.ActionFactory;
+import de.tobias.playpad.action.ActionProvider;
 import de.tobias.playpad.pad.content.PadContentFactory;
 import de.tobias.playpad.plugin.Module;
 import de.tobias.playpad.plugin.PlayPadPluginStub;
@@ -87,7 +87,7 @@ public class MediaPluginImpl implements PlayPadPluginStub, PluginArtifact, Setti
 		}
 
 		try {
-			Registry<ActionFactory> padContents = PlayPadPlugin.getRegistries().getActions();
+			Registry<ActionProvider> padContents = PlayPadPlugin.getRegistries().getActions();
 			padContents.loadComponentsFromFile("Actions.xml", getClass().getClassLoader(), module, bundle);
 		} catch (Exception e) {
 			Logger.error(e);
diff --git a/PlayWallPluginNativeAudio/pom.xml b/PlayWallPluginNativeAudio/pom.xml
index 23d82fcce88ddd745308bba9006a1c754e252e27..a66858a0aa6daa0530666ac65199fa6744d06b80 100644
--- a/PlayWallPluginNativeAudio/pom.xml
+++ b/PlayWallPluginNativeAudio/pom.xml
@@ -12,7 +12,7 @@
     </parent>
 
     <properties>
-        <scala-library.version>2.12.6</scala-library.version>
+        <scala-library.version>2.13.0</scala-library.version>
         <jni4net.j.version>0.8.8.0</jni4net.j.version>
         <nativeAudio.version>1.0.0</nativeAudio.version>
 
diff --git a/pom.xml b/pom.xml
index 2f5f16e94fa28ed5d606dae4cfb0ec713219819c..6a92993de0f9f8d568be733070e210da5766a9d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
 
         <jna.version>5.2.0</jna.version>
 
-        <scala-library.version>2.12.7</scala-library.version>
+        <scala-library.version>2.13.0</scala-library.version>
         <junit.version>4.12</junit.version>
 
         <gson.version>2.8.5</gson.version>