diff --git a/morpfw/crud/app.py b/morpfw/crud/app.py
index <HASH>..<HASH> 100644
--- a/morpfw/crud/app.py
+++ b/morpfw/crud/app.py
@@ -128,6 +128,12 @@ class App(JsonSchemaApp, signals.SignalApp):
     def get_statemachine(self, context):
         raise NotImplementedError
 
+    @reg.dispatch_method(reg.match_class("model"))
+    def get_statemachine_factory(self, model):
+        return None
+
+
+
     @reg.dispatch_method(reg.match_instance("model", lambda self, context: context))
     def get_searchprovider(self, context):
         raise NotImplementedError
diff --git a/morpfw/crud/component.py b/morpfw/crud/component.py
index <HASH>..<HASH> 100644
--- a/morpfw/crud/component.py
+++ b/morpfw/crud/component.py
@@ -162,6 +162,13 @@ class StateMachineAction(dectate.Action):
     def perform(self, obj, app_class):
         app_class.get_statemachine.register(reg.methodify(obj), model=self.model)
 
+        def factory(model):
+            return obj
+
+        app_class.get_statemachine_factory.register(
+            reg.methodify(factory), model=self.model
+        )
+
 
 class SearchProviderAction(dectate.Action):
allow querying for statemachine factory for model