diff --git a/force_bdss/mco/base_mco_factory.py b/force_bdss/mco/base_mco_factory.py
index 5f15c7abe4e172b46a3c1c447bfbd8032f55c0c9..58544172c2e1fa43b3575fcbcaffc0b5304f0a11 100644
--- a/force_bdss/mco/base_mco_factory.py
+++ b/force_bdss/mco/base_mco_factory.py
@@ -26,8 +26,11 @@ class BaseMCOFactory(BaseFactory):
     #: The communicator associated to the MCO. Define this to your MCO comm.
     communicator_class = Type(BaseMCOCommunicator, allow_none=False)
 
-    def __init__(self, plugin):
-        super(BaseMCOFactory, self).__init__(plugin=plugin)
+    def __init__(self, plugin, *args, **kwargs):
+        super(BaseMCOFactory, self).__init__(
+            plugin=plugin,
+            *args,
+            **kwargs)
 
         self.optimizer_class = self.get_optimizer_class()
         self.model_class = self.get_model_class()
diff --git a/force_bdss/mco/parameters/base_mco_parameter_factory.py b/force_bdss/mco/parameters/base_mco_parameter_factory.py
index 258f90eb5f3ed49e29923124ef98466dcf7be7e1..bc3a0fd078c0001f12267f426a22e363231815fa 100644
--- a/force_bdss/mco/parameters/base_mco_parameter_factory.py
+++ b/force_bdss/mco/parameters/base_mco_parameter_factory.py
@@ -39,10 +39,12 @@ class BaseMCOParameterFactory(BaseFactory):
             "get_model_class was not implemented in factory {}".format(
                 self.__class__))
 
-    def __init__(self, mco_factory):
-        self.mco_factory = mco_factory
+    def __init__(self, mco_factory, *args, **kwargs):
         super(BaseMCOParameterFactory, self).__init__(
-            plugin=mco_factory.plugin)
+            mco_factory=mco_factory,
+            plugin=mco_factory.plugin,
+            *args,
+            **kwargs)
 
         self.description = self.get_description()
         self.model_class = self.get_model_class()
diff --git a/force_bdss/notification_listeners/base_notification_listener_factory.py b/force_bdss/notification_listeners/base_notification_listener_factory.py
index 1166ec8c9eb92b1229a6d8adabee45f72d4a1160..2b556a9f4d4f07d574630b91999e32916df5dbaa 100644
--- a/force_bdss/notification_listeners/base_notification_listener_factory.py
+++ b/force_bdss/notification_listeners/base_notification_listener_factory.py
@@ -32,7 +32,7 @@ class BaseNotificationListenerFactory(BaseFactory):
     #: listener model class.
     model_class = Type(BaseNotificationListenerModel, allow_none=False)
 
-    def __init__(self, plugin):
+    def __init__(self, plugin, *args, **kwargs):
         """Initializes the instance.
 
         Parameters
@@ -40,7 +40,8 @@ class BaseNotificationListenerFactory(BaseFactory):
         plugin: Plugin
             The plugin that holds this factory.
         """
-        super(BaseNotificationListenerFactory, self).__init__(plugin=plugin)
+        super(BaseNotificationListenerFactory, self).__init__(
+            plugin=plugin, *args, **kwargs)
 
         self.listener_class = self.get_listener_class()
         self.model_class = self.get_model_class()
diff --git a/force_bdss/ui_hooks/base_ui_hooks_factory.py b/force_bdss/ui_hooks/base_ui_hooks_factory.py
index 6965423333f25adf77f1a18bd32ba1bb43acadf3..174794239801f362e5508135f5ec15b06b1164d4 100644
--- a/force_bdss/ui_hooks/base_ui_hooks_factory.py
+++ b/force_bdss/ui_hooks/base_ui_hooks_factory.py
@@ -18,7 +18,7 @@ class BaseUIHooksFactory(BaseFactory):
     #: base hook managers.
     ui_hooks_manager_class = Type(BaseUIHooksManager, allow_none=False)
 
-    def __init__(self, plugin):
+    def __init__(self, plugin, *args, **kwargs):
         """Initializes the instance.
 
         Parameters
@@ -26,7 +26,8 @@ class BaseUIHooksFactory(BaseFactory):
         plugin: Plugin
             The plugin that holds this factory.
         """
-        super(BaseUIHooksFactory, self).__init__(plugin=plugin)
+        super(BaseUIHooksFactory, self).__init__(
+            plugin=plugin, *args, **kwargs)
 
         self.ui_hooks_manager_class = self.get_ui_hooks_manager_class()