From fa89c9792579aacfd2a85c3853856cd5bf47d096 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen.haas@lakedrops.com>
Date: Mon, 20 May 2024 13:06:48 +0200
Subject: [PATCH] Fix typos

---
 .../simple/eca_and_http_services_-_part_2.md  |   8 +-
 .../bpmn_io-eca_lib_0033.tar.gz               |   4 +-
 .../bpmn_io-eca_lib_0033.xml                  | 110 ++++----
 docs/library/simple/notifications.md          |  15 +-
 .../notifications/bpmn_io-eca_lib_0021.tar.gz |   4 +-
 .../notifications/bpmn_io-eca_lib_0021.xml    | 244 +++++++++---------
 .../library/test models/basic_entity_tests.md |  12 +-
 .../bpmn_io-eca_test_0004.tar.gz              |   4 +-
 .../bpmn_io-eca_test_0004.xml                 | 114 ++++----
 .../test models/entity_events_part_1.md       |  10 +-
 .../bpmn_io-eca_test_0002.tar.gz              |   4 +-
 .../bpmn_io-eca_test_0002.xml                 | 164 ++++++------
 .../test models/entity_events_part_2.md       |   8 +-
 .../bpmn_io-eca_test_0003.tar.gz              |   4 +-
 .../bpmn_io-eca_test_0003.xml                 |  40 +--
 docs/library/use case/eca_feature_demo.md     |  13 +-
 .../bpmn_io-eca_lib_0007.tar.gz               |   4 +-
 .../eca_feature_demo/bpmn_io-eca_lib_0007.xml |   2 +-
 18 files changed, 392 insertions(+), 372 deletions(-)

diff --git a/docs/library/simple/eca_and_http_services_-_part_2.md b/docs/library/simple/eca_and_http_services_-_part_2.md
index 97ff7a1d..5cc25a2e 100644
--- a/docs/library/simple/eca_and_http_services_-_part_2.md
+++ b/docs/library/simple/eca_and_http_services_-_part_2.md
@@ -17,6 +17,13 @@ Version v1
 <script>url='bpmn_io-eca_lib_0033.xml';archive='bpmn_io-eca_lib_0033.tar.gz'</script>
 {!include/library/viewer.html!}
 
+Instead of downloading the archive, you can download and apply this model as a recipe (Drupal 10.3 or later):
+
+```shell
+composer require drupal-eca-recipe/eca_and_http_services_-_part_2
+cd web && php core/scripts/drupal recipe ../vendor/drupal-eca-recipe/eca_and_http_services_-_part_2
+```
+
 ## Purpose
 
 This model is a follow up version of [ECA and http services](/library/simple/eca_and_http_services.md) and uses a self-defined services API for the HTTP Client Manager.
@@ -47,7 +54,6 @@ The creation of this module was recorded and the video with additional explanati
 - [Set content](/plugins/eca/endpoint/actions/eca_endpoint_set_response_content.md)
 - [Set response code](/plugins/eca/endpoint/actions/eca_endpoint_set_response_status_code.md)
 - [Set json content type](/plugins/eca/endpoint/actions/eca_endpoint_set_response_content_type.md)
-- [Get remote data](/plugins/http_client_manager/actions/http_client_manager_command_eca_tv_demo_services_Get Data.md)
 - [Read received data into a token](/plugins/eca/base/actions/eca_privatetempstore_read.md)
 - [Print message](/plugins/core/actions/action_message_action.md)
 
diff --git a/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.tar.gz b/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.tar.gz
index ebc2cc00..1c181df5 100644
--- a/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.tar.gz
+++ b/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.tar.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:1e83f98a98c5a3b615c2f688e7bcce521c6530dea3bb55cb474f4e319d55ea09
-size 3068
+oid sha256:9c60526bdbdc9b48be425d0a8a2107468376ee214e7e7eae60ededa77ebb04d3
+size 3072
diff --git a/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.xml b/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.xml
index 6d580080..1ca03926 100644
--- a/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.xml
+++ b/docs/library/simple/eca_and_http_services_-_part_2/bpmn_io-eca_lib_0033.xml
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:qa="http://some-company/schema/bpmn/qa" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="eca_lib_0033" name="ECA and http services - part 2" isExecutable="true" camunda:versionTag="v1">
-    <bpmn2:documentation>This model is a follow up version of [ECA and http services](/library/simple/eca_and_http_services) and uses a self-defined services API for the HTTP Client Manager.
+    <bpmn2:documentation>This model is a follow up version of [ECA and http services](/library/simple/eca_and_http_services.md) and uses a self-defined services API for the HTTP Client Manager.
 
-This module requires the services API defined in a [Custom Module](eca_tv_demo.zip). Please download, copy to your Drupal site and enable it before importing this model.
+This module requires the services API defined in a [Custom Module](/library/simple/eca_and_http_services_-_part_2/eca_tv_demo.zip). Please download, copy to your Drupal site and enable it before importing this model.
 
 The creation of this module was recorded and the video with additional explanations can be [watched here](https://tube.tchncs.de/w/vUXqDxeKtqppRUB2MDWiJq).</bpmn2:documentation>
     <bpmn2:extensionElements>
       <camunda:properties>
-        <camunda:property name="Changelog v1" value="Initial version" />
-        <camunda:property name="Tags" value="simple,http,endpoint,API,access" />
+        <camunda:property name="Changelog v1" value="Initial version"/>
+        <camunda:property name="Tags" value="simple,http,endpoint,API,access"/>
       </camunda:properties>
     </bpmn2:extensionElements>
     <bpmn2:startEvent id="Event_01amlwo" name="Define API access" camunda:modelerTemplate="org.drupal.event.eca_endpoint:access">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_endpoint:access" />
+          <camunda:property name="pluginid" value="eca_endpoint:access"/>
         </camunda:properties>
         <camunda:field name="first_path_argument">
           <camunda:string>tv</camunda:string>
@@ -29,7 +29,7 @@ The creation of this module was recorded and the video with additional explanati
     <bpmn2:task id="Activity_0thqpdj" name="allow access" camunda:modelerTemplate="org.drupal.action.eca_access_set_result">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_access_set_result" />
+          <camunda:property name="pluginid" value="eca_access_set_result"/>
         </camunda:properties>
         <camunda:field name="access_result">
           <camunda:string>allowed</camunda:string>
@@ -37,11 +37,11 @@ The creation of this module was recorded and the video with additional explanati
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1dju1ly</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1dju1ly" sourceRef="Event_01amlwo" targetRef="Activity_0thqpdj" />
+    <bpmn2:sequenceFlow id="Flow_1dju1ly" sourceRef="Event_01amlwo" targetRef="Activity_0thqpdj"/>
     <bpmn2:startEvent id="Event_0jcklxm" name="Define API response" camunda:modelerTemplate="org.drupal.event.eca_endpoint:response">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_endpoint:response" />
+          <camunda:property name="pluginid" value="eca_endpoint:response"/>
         </camunda:properties>
         <camunda:field name="first_path_argument">
           <camunda:string>tv</camunda:string>
@@ -55,7 +55,7 @@ The creation of this module was recorded and the video with additional explanati
     <bpmn2:task id="Activity_0bbm1sg" name="Set content" camunda:modelerTemplate="org.drupal.action.eca_endpoint_set_response_content">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_endpoint_set_response_content" />
+          <camunda:property name="pluginid" value="eca_endpoint_set_response_content"/>
         </camunda:properties>
         <camunda:field name="content">
           <camunda:string>[
@@ -72,11 +72,11 @@ The creation of this module was recorded and the video with additional explanati
       <bpmn2:incoming>Flow_0rrgfix</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1gjyny2</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0rrgfix" sourceRef="Event_0jcklxm" targetRef="Activity_0bbm1sg" />
+    <bpmn2:sequenceFlow id="Flow_0rrgfix" sourceRef="Event_0jcklxm" targetRef="Activity_0bbm1sg"/>
     <bpmn2:task id="Activity_1thrc57" name="Set response code" camunda:modelerTemplate="org.drupal.action.eca_endpoint_set_response_status_code">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_endpoint_set_response_status_code" />
+          <camunda:property name="pluginid" value="eca_endpoint_set_response_status_code"/>
         </camunda:properties>
         <camunda:field name="code">
           <camunda:string>201</camunda:string>
@@ -85,11 +85,11 @@ The creation of this module was recorded and the video with additional explanati
       <bpmn2:incoming>Flow_1gjyny2</bpmn2:incoming>
       <bpmn2:outgoing>Flow_0k6xmlh</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1gjyny2" sourceRef="Activity_0bbm1sg" targetRef="Activity_1thrc57" />
+    <bpmn2:sequenceFlow id="Flow_1gjyny2" sourceRef="Activity_0bbm1sg" targetRef="Activity_1thrc57"/>
     <bpmn2:task id="Activity_0dfz4fw" name="Set json content type" camunda:modelerTemplate="org.drupal.action.eca_endpoint_set_response_content_type">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_endpoint_set_response_content_type" />
+          <camunda:property name="pluginid" value="eca_endpoint_set_response_content_type"/>
         </camunda:properties>
         <camunda:field name="content_type">
           <camunda:string>application/json; charset=UTF-8</camunda:string>
@@ -97,11 +97,11 @@ The creation of this module was recorded and the video with additional explanati
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_0k6xmlh</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0k6xmlh" sourceRef="Activity_1thrc57" targetRef="Activity_0dfz4fw" />
+    <bpmn2:sequenceFlow id="Flow_0k6xmlh" sourceRef="Activity_1thrc57" targetRef="Activity_0dfz4fw"/>
     <bpmn2:startEvent id="Event_1uuuqn6" name="Custom: http01" camunda:modelerTemplate="org.drupal.event.eca_base:eca_custom">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_base:eca_custom" />
+          <camunda:property name="pluginid" value="eca_base:eca_custom"/>
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>http01</camunda:string>
@@ -115,17 +115,17 @@ The creation of this module was recorded and the video with additional explanati
           <camunda:string>no</camunda:string>
         </camunda:field>
         <camunda:properties>
-          <camunda:property name="pluginid" value="http_client_manager_command:eca_tv_demo_services:Get Data" />
+          <camunda:property name="pluginid" value="http_client_manager_command:eca_tv_demo_services:Get Data"/>
         </camunda:properties>
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_11ty0xz</bpmn2:incoming>
       <bpmn2:outgoing>Flow_17tlu1o</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_11ty0xz" sourceRef="Event_1uuuqn6" targetRef="Activity_0tmesph" />
+    <bpmn2:sequenceFlow id="Flow_11ty0xz" sourceRef="Event_1uuuqn6" targetRef="Activity_0tmesph"/>
     <bpmn2:task id="Activity_0v7w08m" name="Read received data into a token" camunda:modelerTemplate="org.drupal.action.eca_privatetempstore_read">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_privatetempstore_read" />
+          <camunda:property name="pluginid" value="eca_privatetempstore_read"/>
         </camunda:properties>
         <camunda:field name="collection">
           <camunda:string>http_client_manager</camunda:string>
@@ -140,11 +140,11 @@ The creation of this module was recorded and the video with additional explanati
       <bpmn2:incoming>Flow_17tlu1o</bpmn2:incoming>
       <bpmn2:outgoing>Flow_0ijoscf</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_17tlu1o" sourceRef="Activity_0tmesph" targetRef="Activity_0v7w08m" />
+    <bpmn2:sequenceFlow id="Flow_17tlu1o" sourceRef="Activity_0tmesph" targetRef="Activity_0v7w08m"/>
     <bpmn2:task id="Activity_0hjz4c5" name="Print message" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action" />
+          <camunda:property name="pluginid" value="action_message_action"/>
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>The received data is:
@@ -157,83 +157,83 @@ The creation of this module was recorded and the video with additional explanati
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_0ijoscf</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0ijoscf" sourceRef="Activity_0v7w08m" targetRef="Activity_0hjz4c5" />
+    <bpmn2:sequenceFlow id="Flow_0ijoscf" sourceRef="Activity_0v7w08m" targetRef="Activity_0hjz4c5"/>
   </bpmn2:process>
   <bpmndi:BPMNDiagram id="sid-74a503cd-2677-4039-a742-c24cecef9dff">
     <bpmndi:BPMNPlane id="sid-b3191afc-254f-4d9a-a093-0aa29bbecd00" bpmnElement="eca_lib_0033">
       <bpmndi:BPMNShape id="Event_01amlwo_di" bpmnElement="Event_01amlwo">
-        <dc:Bounds x="292" y="62" width="36" height="36" />
+        <dc:Bounds x="292" y="62" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="268" y="105" width="90" height="14" />
+          <dc:Bounds x="268" y="105" width="90" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0thqpdj_di" bpmnElement="Activity_0thqpdj">
-        <dc:Bounds x="380" y="40" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="380" y="40" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_0jcklxm_di" bpmnElement="Event_0jcklxm">
-        <dc:Bounds x="292" y="192" width="36" height="36" />
+        <dc:Bounds x="292" y="192" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="284" y="235" width="53" height="27" />
+          <dc:Bounds x="284" y="235" width="53" height="27"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0bbm1sg_di" bpmnElement="Activity_0bbm1sg">
-        <dc:Bounds x="380" y="170" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="380" y="170" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1thrc57_di" bpmnElement="Activity_1thrc57">
-        <dc:Bounds x="540" y="170" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="540" y="170" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0dfz4fw_di" bpmnElement="Activity_0dfz4fw">
-        <dc:Bounds x="700" y="170" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="700" y="170" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_1uuuqn6_di" bpmnElement="Event_1uuuqn6">
-        <dc:Bounds x="292" y="432" width="36" height="36" />
+        <dc:Bounds x="292" y="432" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="273" y="475" width="75" height="14" />
+          <dc:Bounds x="273" y="475" width="75" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0tmesph_di" bpmnElement="Activity_0tmesph">
-        <dc:Bounds x="380" y="410" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="380" y="410" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0v7w08m_di" bpmnElement="Activity_0v7w08m">
-        <dc:Bounds x="540" y="410" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="540" y="410" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0hjz4c5_di" bpmnElement="Activity_0hjz4c5">
-        <dc:Bounds x="700" y="410" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="700" y="410" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_1dju1ly_di" bpmnElement="Flow_1dju1ly">
-        <di:waypoint x="328" y="80" />
-        <di:waypoint x="380" y="80" />
+        <di:waypoint x="328" y="80"/>
+        <di:waypoint x="380" y="80"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0rrgfix_di" bpmnElement="Flow_0rrgfix">
-        <di:waypoint x="328" y="210" />
-        <di:waypoint x="380" y="210" />
+        <di:waypoint x="328" y="210"/>
+        <di:waypoint x="380" y="210"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1gjyny2_di" bpmnElement="Flow_1gjyny2">
-        <di:waypoint x="480" y="210" />
-        <di:waypoint x="540" y="210" />
+        <di:waypoint x="480" y="210"/>
+        <di:waypoint x="540" y="210"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0k6xmlh_di" bpmnElement="Flow_0k6xmlh">
-        <di:waypoint x="640" y="210" />
-        <di:waypoint x="700" y="210" />
+        <di:waypoint x="640" y="210"/>
+        <di:waypoint x="700" y="210"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_11ty0xz_di" bpmnElement="Flow_11ty0xz">
-        <di:waypoint x="328" y="450" />
-        <di:waypoint x="380" y="450" />
+        <di:waypoint x="328" y="450"/>
+        <di:waypoint x="380" y="450"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_17tlu1o_di" bpmnElement="Flow_17tlu1o">
-        <di:waypoint x="480" y="450" />
-        <di:waypoint x="540" y="450" />
+        <di:waypoint x="480" y="450"/>
+        <di:waypoint x="540" y="450"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0ijoscf_di" bpmnElement="Flow_0ijoscf">
-        <di:waypoint x="640" y="450" />
-        <di:waypoint x="700" y="450" />
+        <di:waypoint x="640" y="450"/>
+        <di:waypoint x="700" y="450"/>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
diff --git a/docs/library/simple/notifications.md b/docs/library/simple/notifications.md
index a6352ebd..625b3f36 100644
--- a/docs/library/simple/notifications.md
+++ b/docs/library/simple/notifications.md
@@ -14,6 +14,13 @@ Version v1
 <script>url='bpmn_io-eca_lib_0021.xml';archive='bpmn_io-eca_lib_0021.tar.gz'</script>
 {!include/library/viewer.html!}
 
+Instead of downloading the archive, you can download and apply this model as a recipe (Drupal 10.3 or later):
+
+```shell
+composer require drupal-eca-recipe/notifications
+cd web && php core/scripts/drupal recipe ../vendor/drupal-eca-recipe/notifications
+```
+
 ## Purpose
 
 This model responds to a number of events (user login, registration, error messages, new comments, etc.) and send notifications to a number of different channels like email, Mattermost and Alerta.
@@ -47,14 +54,6 @@ The creation of this model has been commented and [recorded on video](https://tu
 - [Notify Mattermost](/plugins/push_framework/actions/push_framework_notify.md)
 - [Set subject](/plugins/eca/base/actions/eca_token_set_value.md)
 - [Set body](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set subject](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set body](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set subject](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set body](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set subject](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set body](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set subject](/plugins/eca/base/actions/eca_token_set_value.md)
-- [Set body](/plugins/eca/base/actions/eca_token_set_value.md)
 
 ## Changelog
 
diff --git a/docs/library/simple/notifications/bpmn_io-eca_lib_0021.tar.gz b/docs/library/simple/notifications/bpmn_io-eca_lib_0021.tar.gz
index f551980d..dcaf0b77 100644
--- a/docs/library/simple/notifications/bpmn_io-eca_lib_0021.tar.gz
+++ b/docs/library/simple/notifications/bpmn_io-eca_lib_0021.tar.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:f4fbde2bafce2dd42585b168e414a0e3961857a5d7969e825cf528ca27fb313e
-size 3953
+oid sha256:f2c03cb705113940635b1c74f96c84675e07cfe833e5517c83139e4f42c7d1a4
+size 3950
diff --git a/docs/library/simple/notifications/bpmn_io-eca_lib_0021.xml b/docs/library/simple/notifications/bpmn_io-eca_lib_0021.xml
index e6608f12..51981ad5 100644
--- a/docs/library/simple/notifications/bpmn_io-eca_lib_0021.xml
+++ b/docs/library/simple/notifications/bpmn_io-eca_lib_0021.xml
@@ -6,14 +6,14 @@
 The creation of this model has been commented and [recorded on video](https://tube.tchncs.de/w/pS9U9PiczAUNjr4xRajVBa).</bpmn2:documentation>
     <bpmn2:extensionElements>
       <camunda:properties>
-        <camunda:property name="Tags" value="simple,notifications" />
-        <camunda:property name="Changelog v1" value="Initial version" />
+        <camunda:property name="Tags" value="simple,notifications"/>
+        <camunda:property name="Changelog v1" value="Initial version"/>
       </camunda:properties>
     </bpmn2:extensionElements>
     <bpmn2:startEvent id="Event_19eevce" name="User login" camunda:modelerTemplate="org.drupal.event.user:login">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="user:login" />
+          <camunda:property name="pluginid" value="user:login"/>
         </camunda:properties>
       </bpmn2:extensionElements>
       <bpmn2:outgoing>Flow_0reg9jb</bpmn2:outgoing>
@@ -21,7 +21,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:task id="Activity_0awy86g" name="Notify email" camunda:modelerTemplate="org.drupal.action.action_send_email_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_send_email_action" />
+          <camunda:property name="pluginid" value="action_send_email_action"/>
         </camunda:properties>
         <camunda:field name="recipient">
           <camunda:string>admin@example.com</camunda:string>
@@ -41,7 +41,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:task id="Activity_0flbr1t" name="Notify Alerta" camunda:modelerTemplate="org.drupal.action.push_framework_notify">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="push_framework_notify" />
+          <camunda:property name="pluginid" value="push_framework_notify"/>
         </camunda:properties>
         <camunda:field name="channel">
           <camunda:string>alerta</camunda:string>
@@ -67,7 +67,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:task id="Activity_0k34252" name="Notify Mattermost" camunda:modelerTemplate="org.drupal.action.push_framework_notify">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="push_framework_notify" />
+          <camunda:property name="pluginid" value="push_framework_notify"/>
         </camunda:properties>
         <camunda:field name="channel">
           <camunda:string>mattermost</camunda:string>
@@ -93,7 +93,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:startEvent id="Event_1v0imky" name="User registration" camunda:modelerTemplate="org.drupal.event.content_entity:insert">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:insert" />
+          <camunda:property name="pluginid" value="content_entity:insert"/>
         </camunda:properties>
         <camunda:field name="type">
           <camunda:string>user _all</camunda:string>
@@ -104,7 +104,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:task id="Activity_0w3r04t" name="Set subject" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>subject</camunda:string>
@@ -119,11 +119,11 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_0reg9jb</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1ecvleq</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0reg9jb" sourceRef="Event_19eevce" targetRef="Activity_0w3r04t" />
+    <bpmn2:sequenceFlow id="Flow_0reg9jb" sourceRef="Event_19eevce" targetRef="Activity_0w3r04t"/>
     <bpmn2:task id="Activity_1q7h9sv" name="Set body" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>body</camunda:string>
@@ -138,11 +138,11 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_1ecvleq</bpmn2:incoming>
       <bpmn2:outgoing>Flow_18zbie0</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1ecvleq" sourceRef="Activity_0w3r04t" targetRef="Activity_1q7h9sv" />
+    <bpmn2:sequenceFlow id="Flow_1ecvleq" sourceRef="Activity_0w3r04t" targetRef="Activity_1q7h9sv"/>
     <bpmn2:task id="Activity_19izh2j" name="Set subject" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>subject</camunda:string>
@@ -157,11 +157,11 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_05gib1y</bpmn2:incoming>
       <bpmn2:outgoing>Flow_0kjfo1b</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_05gib1y" sourceRef="Event_1v0imky" targetRef="Activity_19izh2j" />
+    <bpmn2:sequenceFlow id="Flow_05gib1y" sourceRef="Event_1v0imky" targetRef="Activity_19izh2j"/>
     <bpmn2:task id="Activity_0zdp6j7" name="Set body" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>body</camunda:string>
@@ -176,7 +176,7 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_0kjfo1b</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1lqv8co</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0kjfo1b" sourceRef="Activity_19izh2j" targetRef="Activity_0zdp6j7" />
+    <bpmn2:sequenceFlow id="Flow_0kjfo1b" sourceRef="Activity_19izh2j" targetRef="Activity_0zdp6j7"/>
     <bpmn2:exclusiveGateway id="Gateway_0ilsm8w">
       <bpmn2:incoming>Flow_18zbie0</bpmn2:incoming>
       <bpmn2:incoming>Flow_1lqv8co</bpmn2:incoming>
@@ -187,18 +187,18 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:outgoing>Flow_1a4u93j</bpmn2:outgoing>
       <bpmn2:outgoing>Flow_0ka6du5</bpmn2:outgoing>
     </bpmn2:exclusiveGateway>
-    <bpmn2:sequenceFlow id="Flow_18zbie0" sourceRef="Activity_1q7h9sv" targetRef="Gateway_0ilsm8w" />
-    <bpmn2:sequenceFlow id="Flow_0xkuslx" sourceRef="Gateway_0ilsm8w" targetRef="Activity_0flbr1t" />
-    <bpmn2:sequenceFlow id="Flow_1a4u93j" sourceRef="Gateway_0ilsm8w" targetRef="Activity_0awy86g" />
-    <bpmn2:sequenceFlow id="Flow_0ka6du5" sourceRef="Gateway_0ilsm8w" targetRef="Activity_0k34252" />
-    <bpmn2:sequenceFlow id="Flow_1lqv8co" sourceRef="Activity_0zdp6j7" targetRef="Gateway_0ilsm8w" />
+    <bpmn2:sequenceFlow id="Flow_18zbie0" sourceRef="Activity_1q7h9sv" targetRef="Gateway_0ilsm8w"/>
+    <bpmn2:sequenceFlow id="Flow_0xkuslx" sourceRef="Gateway_0ilsm8w" targetRef="Activity_0flbr1t"/>
+    <bpmn2:sequenceFlow id="Flow_1a4u93j" sourceRef="Gateway_0ilsm8w" targetRef="Activity_0awy86g"/>
+    <bpmn2:sequenceFlow id="Flow_0ka6du5" sourceRef="Gateway_0ilsm8w" targetRef="Activity_0k34252"/>
+    <bpmn2:sequenceFlow id="Flow_1lqv8co" sourceRef="Activity_0zdp6j7" targetRef="Gateway_0ilsm8w"/>
     <bpmn2:startEvent id="Event_17mezfz" name="Error in Watchdog" camunda:modelerTemplate="org.drupal.event.log:log_message">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="log:log_message" />
+          <camunda:property name="pluginid" value="log:log_message"/>
         </camunda:properties>
         <camunda:field name="channel">
-          <camunda:string></camunda:string>
+          <camunda:string/>
         </camunda:field>
         <camunda:field name="min_severity">
           <camunda:string>3</camunda:string>
@@ -209,7 +209,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:task id="Activity_0ybyku0" name="Set subject" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>subject</camunda:string>
@@ -224,11 +224,11 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_1iu765x</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1sws529</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1iu765x" sourceRef="Event_17mezfz" targetRef="Activity_0ybyku0" />
+    <bpmn2:sequenceFlow id="Flow_1iu765x" sourceRef="Event_17mezfz" targetRef="Activity_0ybyku0"/>
     <bpmn2:task id="Activity_1ah2mt5" name="Set body" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>body</camunda:string>
@@ -243,12 +243,12 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_1sws529</bpmn2:incoming>
       <bpmn2:outgoing>Flow_0bk0qoj</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1sws529" sourceRef="Activity_0ybyku0" targetRef="Activity_1ah2mt5" />
-    <bpmn2:sequenceFlow id="Flow_0bk0qoj" sourceRef="Activity_1ah2mt5" targetRef="Gateway_0ilsm8w" />
+    <bpmn2:sequenceFlow id="Flow_1sws529" sourceRef="Activity_0ybyku0" targetRef="Activity_1ah2mt5"/>
+    <bpmn2:sequenceFlow id="Flow_0bk0qoj" sourceRef="Activity_1ah2mt5" targetRef="Gateway_0ilsm8w"/>
     <bpmn2:startEvent id="Event_0fdxfbk" name="IP Signalled to CrowdSec" camunda:modelerTemplate="org.drupal.event.crowdsec:signalled">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="crowdsec:signalled" />
+          <camunda:property name="pluginid" value="crowdsec:signalled"/>
         </camunda:properties>
       </bpmn2:extensionElements>
       <bpmn2:outgoing>Flow_1n0sks0</bpmn2:outgoing>
@@ -256,7 +256,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:task id="Activity_0s12xjb" name="Set subject" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>subject</camunda:string>
@@ -271,11 +271,11 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_1n0sks0</bpmn2:incoming>
       <bpmn2:outgoing>Flow_0j7kuu0</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1n0sks0" sourceRef="Event_0fdxfbk" targetRef="Activity_0s12xjb" />
+    <bpmn2:sequenceFlow id="Flow_1n0sks0" sourceRef="Event_0fdxfbk" targetRef="Activity_0s12xjb"/>
     <bpmn2:task id="Activity_1pcbm14" name="Set body" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>body</camunda:string>
@@ -290,12 +290,12 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_0j7kuu0</bpmn2:incoming>
       <bpmn2:outgoing>Flow_0flj5xl</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0j7kuu0" sourceRef="Activity_0s12xjb" targetRef="Activity_1pcbm14" />
-    <bpmn2:sequenceFlow id="Flow_0flj5xl" sourceRef="Activity_1pcbm14" targetRef="Gateway_0ilsm8w" />
+    <bpmn2:sequenceFlow id="Flow_0j7kuu0" sourceRef="Activity_0s12xjb" targetRef="Activity_1pcbm14"/>
+    <bpmn2:sequenceFlow id="Flow_0flj5xl" sourceRef="Activity_1pcbm14" targetRef="Gateway_0ilsm8w"/>
     <bpmn2:startEvent id="Event_1q75k1m" name="New comment" camunda:modelerTemplate="org.drupal.event.content_entity:insert">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:insert" />
+          <camunda:property name="pluginid" value="content_entity:insert"/>
         </camunda:properties>
         <camunda:field name="type">
           <camunda:string>comment _all</camunda:string>
@@ -306,7 +306,7 @@ The creation of this model has been commented and [recorded on video](https://tu
     <bpmn2:task id="Activity_19mx303" name="Set subject" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>subject</camunda:string>
@@ -321,11 +321,11 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_035ucwz</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1fgbhqb</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_035ucwz" sourceRef="Event_1q75k1m" targetRef="Activity_19mx303" />
+    <bpmn2:sequenceFlow id="Flow_035ucwz" sourceRef="Event_1q75k1m" targetRef="Activity_19mx303"/>
     <bpmn2:task id="Activity_1gtasg7" name="Set body" camunda:modelerTemplate="org.drupal.action.eca_token_set_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_set_value" />
+          <camunda:property name="pluginid" value="eca_token_set_value"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>body</camunda:string>
@@ -340,177 +340,177 @@ The creation of this model has been commented and [recorded on video](https://tu
       <bpmn2:incoming>Flow_1fgbhqb</bpmn2:incoming>
       <bpmn2:outgoing>Flow_0qiig0r</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1fgbhqb" sourceRef="Activity_19mx303" targetRef="Activity_1gtasg7" />
-    <bpmn2:sequenceFlow id="Flow_0qiig0r" sourceRef="Activity_1gtasg7" targetRef="Gateway_0ilsm8w" />
+    <bpmn2:sequenceFlow id="Flow_1fgbhqb" sourceRef="Activity_19mx303" targetRef="Activity_1gtasg7"/>
+    <bpmn2:sequenceFlow id="Flow_0qiig0r" sourceRef="Activity_1gtasg7" targetRef="Gateway_0ilsm8w"/>
   </bpmn2:process>
   <bpmndi:BPMNDiagram id="sid-db6c26a0-2809-4833-9783-046105b20a7d">
     <bpmndi:BPMNPlane id="sid-45586d9c-2d6f-40d5-9448-af5cfcde8899" bpmnElement="eca_lib_0021">
       <bpmndi:BPMNShape id="Event_19eevce_di" bpmnElement="Event_19eevce">
-        <dc:Bounds x="282" y="72" width="36" height="36" />
+        <dc:Bounds x="282" y="72" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="275" y="115" width="50" height="14" />
+          <dc:Bounds x="275" y="115" width="50" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0awy86g_di" bpmnElement="Activity_0awy86g">
-        <dc:Bounds x="810" y="50" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="810" y="50" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0flbr1t_di" bpmnElement="Activity_0flbr1t">
-        <dc:Bounds x="810" y="-70" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="810" y="-70" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0k34252_di" bpmnElement="Activity_0k34252">
-        <dc:Bounds x="810" y="160" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="810" y="160" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_1v0imky_di" bpmnElement="Event_1v0imky">
-        <dc:Bounds x="282" y="172" width="36" height="36" />
+        <dc:Bounds x="282" y="172" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="260" y="215" width="81" height="14" />
+          <dc:Bounds x="260" y="215" width="81" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0w3r04t_di" bpmnElement="Activity_0w3r04t">
-        <dc:Bounds x="370" y="50" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="370" y="50" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1q7h9sv_di" bpmnElement="Activity_1q7h9sv">
-        <dc:Bounds x="530" y="50" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="530" y="50" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_19izh2j_di" bpmnElement="Activity_19izh2j">
-        <dc:Bounds x="370" y="150" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="370" y="150" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0zdp6j7_di" bpmnElement="Activity_0zdp6j7">
-        <dc:Bounds x="530" y="150" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="530" y="150" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Gateway_0ilsm8w_di" bpmnElement="Gateway_0ilsm8w" isMarkerVisible="true">
-        <dc:Bounds x="695" y="65" width="50" height="50" />
+        <dc:Bounds x="695" y="65" width="50" height="50"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_17mezfz_di" bpmnElement="Event_17mezfz">
-        <dc:Bounds x="282" y="292" width="36" height="36" />
+        <dc:Bounds x="282" y="292" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="257" y="335" width="89" height="14" />
+          <dc:Bounds x="257" y="335" width="89" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0ybyku0_di" bpmnElement="Activity_0ybyku0">
-        <dc:Bounds x="370" y="270" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="370" y="270" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1ah2mt5_di" bpmnElement="Activity_1ah2mt5">
-        <dc:Bounds x="530" y="270" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="530" y="270" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_0fdxfbk_di" bpmnElement="Event_0fdxfbk">
-        <dc:Bounds x="282" y="412" width="36" height="36" />
+        <dc:Bounds x="282" y="412" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="266" y="455" width="71" height="27" />
+          <dc:Bounds x="266" y="455" width="71" height="27"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0s12xjb_di" bpmnElement="Activity_0s12xjb">
-        <dc:Bounds x="370" y="390" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="370" y="390" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1pcbm14_di" bpmnElement="Activity_1pcbm14">
-        <dc:Bounds x="530" y="390" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="530" y="390" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_1q75k1m_di" bpmnElement="Event_1q75k1m">
-        <dc:Bounds x="282" y="522" width="36" height="36" />
+        <dc:Bounds x="282" y="522" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="265" y="565" width="71" height="14" />
+          <dc:Bounds x="265" y="565" width="71" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_19mx303_di" bpmnElement="Activity_19mx303">
-        <dc:Bounds x="370" y="500" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="370" y="500" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1gtasg7_di" bpmnElement="Activity_1gtasg7">
-        <dc:Bounds x="530" y="500" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="530" y="500" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_0reg9jb_di" bpmnElement="Flow_0reg9jb">
-        <di:waypoint x="318" y="90" />
-        <di:waypoint x="370" y="90" />
+        <di:waypoint x="318" y="90"/>
+        <di:waypoint x="370" y="90"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1ecvleq_di" bpmnElement="Flow_1ecvleq">
-        <di:waypoint x="470" y="90" />
-        <di:waypoint x="530" y="90" />
+        <di:waypoint x="470" y="90"/>
+        <di:waypoint x="530" y="90"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_05gib1y_di" bpmnElement="Flow_05gib1y">
-        <di:waypoint x="318" y="190" />
-        <di:waypoint x="370" y="190" />
+        <di:waypoint x="318" y="190"/>
+        <di:waypoint x="370" y="190"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0kjfo1b_di" bpmnElement="Flow_0kjfo1b">
-        <di:waypoint x="470" y="190" />
-        <di:waypoint x="530" y="190" />
+        <di:waypoint x="470" y="190"/>
+        <di:waypoint x="530" y="190"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_18zbie0_di" bpmnElement="Flow_18zbie0">
-        <di:waypoint x="630" y="90" />
-        <di:waypoint x="695" y="90" />
+        <di:waypoint x="630" y="90"/>
+        <di:waypoint x="695" y="90"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0xkuslx_di" bpmnElement="Flow_0xkuslx">
-        <di:waypoint x="720" y="65" />
-        <di:waypoint x="720" y="-30" />
-        <di:waypoint x="810" y="-30" />
+        <di:waypoint x="720" y="65"/>
+        <di:waypoint x="720" y="-30"/>
+        <di:waypoint x="810" y="-30"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1a4u93j_di" bpmnElement="Flow_1a4u93j">
-        <di:waypoint x="745" y="90" />
-        <di:waypoint x="810" y="90" />
+        <di:waypoint x="745" y="90"/>
+        <di:waypoint x="810" y="90"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0ka6du5_di" bpmnElement="Flow_0ka6du5">
-        <di:waypoint x="720" y="115" />
-        <di:waypoint x="720" y="200" />
-        <di:waypoint x="810" y="200" />
+        <di:waypoint x="720" y="115"/>
+        <di:waypoint x="720" y="200"/>
+        <di:waypoint x="810" y="200"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1lqv8co_di" bpmnElement="Flow_1lqv8co">
-        <di:waypoint x="630" y="190" />
-        <di:waypoint x="660" y="190" />
-        <di:waypoint x="660" y="90" />
-        <di:waypoint x="695" y="90" />
+        <di:waypoint x="630" y="190"/>
+        <di:waypoint x="660" y="190"/>
+        <di:waypoint x="660" y="90"/>
+        <di:waypoint x="695" y="90"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1iu765x_di" bpmnElement="Flow_1iu765x">
-        <di:waypoint x="318" y="310" />
-        <di:waypoint x="370" y="310" />
+        <di:waypoint x="318" y="310"/>
+        <di:waypoint x="370" y="310"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1sws529_di" bpmnElement="Flow_1sws529">
-        <di:waypoint x="470" y="310" />
-        <di:waypoint x="530" y="310" />
+        <di:waypoint x="470" y="310"/>
+        <di:waypoint x="530" y="310"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0bk0qoj_di" bpmnElement="Flow_0bk0qoj">
-        <di:waypoint x="630" y="310" />
-        <di:waypoint x="660" y="310" />
-        <di:waypoint x="660" y="90" />
-        <di:waypoint x="695" y="90" />
+        <di:waypoint x="630" y="310"/>
+        <di:waypoint x="660" y="310"/>
+        <di:waypoint x="660" y="90"/>
+        <di:waypoint x="695" y="90"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1n0sks0_di" bpmnElement="Flow_1n0sks0">
-        <di:waypoint x="318" y="430" />
-        <di:waypoint x="370" y="430" />
+        <di:waypoint x="318" y="430"/>
+        <di:waypoint x="370" y="430"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0j7kuu0_di" bpmnElement="Flow_0j7kuu0">
-        <di:waypoint x="470" y="430" />
-        <di:waypoint x="530" y="430" />
+        <di:waypoint x="470" y="430"/>
+        <di:waypoint x="530" y="430"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0flj5xl_di" bpmnElement="Flow_0flj5xl">
-        <di:waypoint x="630" y="430" />
-        <di:waypoint x="660" y="430" />
-        <di:waypoint x="660" y="90" />
-        <di:waypoint x="695" y="90" />
+        <di:waypoint x="630" y="430"/>
+        <di:waypoint x="660" y="430"/>
+        <di:waypoint x="660" y="90"/>
+        <di:waypoint x="695" y="90"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_035ucwz_di" bpmnElement="Flow_035ucwz">
-        <di:waypoint x="318" y="540" />
-        <di:waypoint x="370" y="540" />
+        <di:waypoint x="318" y="540"/>
+        <di:waypoint x="370" y="540"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1fgbhqb_di" bpmnElement="Flow_1fgbhqb">
-        <di:waypoint x="470" y="540" />
-        <di:waypoint x="530" y="540" />
+        <di:waypoint x="470" y="540"/>
+        <di:waypoint x="530" y="540"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0qiig0r_di" bpmnElement="Flow_0qiig0r">
-        <di:waypoint x="630" y="540" />
-        <di:waypoint x="660" y="540" />
-        <di:waypoint x="660" y="90" />
-        <di:waypoint x="695" y="90" />
+        <di:waypoint x="630" y="540"/>
+        <di:waypoint x="660" y="540"/>
+        <di:waypoint x="660" y="90"/>
+        <di:waypoint x="695" y="90"/>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
diff --git a/docs/library/test models/basic_entity_tests.md b/docs/library/test models/basic_entity_tests.md
index 2dc209b4..8b3a31a9 100644
--- a/docs/library/test models/basic_entity_tests.md	
+++ b/docs/library/test models/basic_entity_tests.md	
@@ -17,9 +17,16 @@ Version v1
 <script>url='bpmn_io-eca_test_0004.xml';archive='bpmn_io-eca_test_0004.tar.gz'</script>
 {!include/library/viewer.html!}
 
+Instead of downloading the archive, you can download and apply this model as a recipe (Drupal 10.3 or later):
+
+```shell
+composer require drupal-eca-recipe/basic_entity_tests
+cd web && php core/scripts/drupal recipe ../vendor/drupal-eca-recipe/basic_entity_tests
+```
+
 ## Purpose
 
-This model contains some basic conditions and actions on nodes.
+This model contains somebasic conditions and actions on nodes.
 
 ## Dependencies
 
@@ -44,10 +51,7 @@ This model contains some basic conditions and actions on nodes.
 - [Msg](/plugins/core/actions/action_message_action.md)
 - [Make stícky](/plugins/node/actions/node_make_sticky_action.md)
 - [Promote to front page](/plugins/node/actions/node_promote_action.md)
-- [Msg](/plugins/core/actions/action_message_action.md)
-- [Msg](/plugins/core/actions/action_message_action.md)
 - [Set title](/plugins/eca/content/actions/eca_set_field_value.md)
-- [Msg](/plugins/core/actions/action_message_action.md)
 - [Load user](/plugins/eca/user/actions/eca_token_load_user_current.md)
 
 ## Changelog
diff --git a/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.tar.gz b/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.tar.gz
index 905b925d..9c48a48c 100644
--- a/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.tar.gz	
+++ b/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.tar.gz	
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:a052b685a05e920860274dc1cac5433fce3d2f0636b3c886305cae7fa6541f5b
-size 2869
+oid sha256:edf63371a97fa98d64cd56d95733eeab3b3fc497b4ee9841829e55368656b9b0
+size 2871
diff --git a/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.xml b/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.xml
index 4a8d27e8..32a78601 100644
--- a/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.xml	
+++ b/docs/library/test models/basic_entity_tests/bpmn_io-eca_test_0004.xml	
@@ -4,14 +4,14 @@
     <bpmn2:documentation>This model contains somebasic conditions and actions on nodes.</bpmn2:documentation>
     <bpmn2:extensionElements>
       <camunda:properties>
-        <camunda:property name="Tags" value="test models,node,messages,change field values,conditions" />
-        <camunda:property name="Changelog v1" value="Initial version" />
+        <camunda:property name="Tags" value="test models,node,messages,change field values,conditions"/>
+        <camunda:property name="Changelog v1" value="Initial version"/>
       </camunda:properties>
     </bpmn2:extensionElements>
     <bpmn2:startEvent id="Event_0033g46" name="Update node" camunda:modelerTemplate="org.drupal.event.content_entity:update">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:update" />
+          <camunda:property name="pluginid" value="content_entity:update"/>
         </camunda:properties>
         <camunda:field name="type">
           <camunda:string>node _all</camunda:string>
@@ -22,7 +22,7 @@
     <bpmn2:task id="Activity_00b702g" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action" />
+          <camunda:property name="pluginid" value="action_message_action"/>
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Node [node:nid] ([entity:title]) was updated and ECA recognized this.</camunda:string>
@@ -33,11 +33,11 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1ra0s31</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1ra0s31" sourceRef="Event_0033g46" targetRef="Activity_00b702g" />
+    <bpmn2:sequenceFlow id="Flow_1ra0s31" sourceRef="Event_0033g46" targetRef="Activity_00b702g"/>
     <bpmn2:startEvent id="Event_0vwr0rl" name="Pre-save node" camunda:modelerTemplate="org.drupal.event.content_entity:presave">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:presave" />
+          <camunda:property name="pluginid" value="content_entity:presave"/>
         </camunda:properties>
         <camunda:field name="type">
           <camunda:string>node _all</camunda:string>
@@ -49,23 +49,23 @@
     <bpmn2:task id="Activity_1a19oxh" name="Make stícky" camunda:modelerTemplate="org.drupal.action.node_make_sticky_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="node_make_sticky_action" />
+          <camunda:property name="pluginid" value="node_make_sticky_action"/>
         </camunda:properties>
         <camunda:field name="object">
-          <camunda:string></camunda:string>
+          <camunda:string/>
         </camunda:field>
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_13o8euq</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1kvuedg</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_13o8euq" sourceRef="Event_0vwr0rl" targetRef="Activity_1a19oxh" />
+    <bpmn2:sequenceFlow id="Flow_13o8euq" sourceRef="Event_0vwr0rl" targetRef="Activity_1a19oxh"/>
     <bpmn2:task id="Activity_0w47i6f" name="Promote to front page" camunda:modelerTemplate="org.drupal.action.node_promote_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="node_promote_action" />
+          <camunda:property name="pluginid" value="node_promote_action"/>
         </camunda:properties>
         <camunda:field name="object">
-          <camunda:string></camunda:string>
+          <camunda:string/>
         </camunda:field>
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_0rnawfp</bpmn2:incoming>
@@ -75,7 +75,7 @@
     <bpmn2:task id="Activity_0u9ayn3" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action" />
+          <camunda:property name="pluginid" value="action_message_action"/>
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Made node [entity:title] sticky</camunda:string>
@@ -86,11 +86,11 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1kvuedg</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1kvuedg" sourceRef="Activity_1a19oxh" targetRef="Activity_0u9ayn3" />
+    <bpmn2:sequenceFlow id="Flow_1kvuedg" sourceRef="Activity_1a19oxh" targetRef="Activity_0u9ayn3"/>
     <bpmn2:task id="Activity_10999pm" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action" />
+          <camunda:property name="pluginid" value="action_message_action"/>
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Promoted article [entity:title] to front page</camunda:string>
@@ -101,11 +101,11 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1x6c2k2</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1x6c2k2" sourceRef="Activity_0w47i6f" targetRef="Activity_10999pm" />
+    <bpmn2:sequenceFlow id="Flow_1x6c2k2" sourceRef="Activity_0w47i6f" targetRef="Activity_10999pm"/>
     <bpmn2:sequenceFlow id="Flow_0rnawfp" name="Is article?" camunda:modelerTemplate="org.drupal.condition.eca_entity_type_bundle" sourceRef="Event_0vwr0rl" targetRef="Activity_0w47i6f">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_entity_type_bundle" />
+          <camunda:property name="pluginid" value="eca_entity_type_bundle"/>
         </camunda:properties>
         <camunda:field name="type">
           <camunda:string>node article</camunda:string>
@@ -114,14 +114,14 @@
           <camunda:string>no</camunda:string>
         </camunda:field>
         <camunda:field name="entity">
-          <camunda:string></camunda:string>
+          <camunda:string/>
         </camunda:field>
       </bpmn2:extensionElements>
     </bpmn2:sequenceFlow>
     <bpmn2:task id="Activity_0t82j94" name="Set title" camunda:modelerTemplate="org.drupal.action.eca_set_field_value">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_set_field_value" />
+          <camunda:property name="pluginid" value="eca_set_field_value"/>
         </camunda:properties>
         <camunda:field name="field_name">
           <camunda:string>title</camunda:string>
@@ -139,7 +139,7 @@
           <camunda:string>no</camunda:string>
         </camunda:field>
         <camunda:field name="object">
-          <camunda:string></camunda:string>
+          <camunda:string/>
         </camunda:field>
         <camunda:field name="method">
           <camunda:string>set:clear</camunda:string>
@@ -151,7 +151,7 @@
     <bpmn2:task id="Activity_15kgp0b" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action" />
+          <camunda:property name="pluginid" value="action_message_action"/>
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Updated title of article</camunda:string>
@@ -162,11 +162,11 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_09rlvh0</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_09rlvh0" sourceRef="Activity_0t82j94" targetRef="Activity_15kgp0b" />
+    <bpmn2:sequenceFlow id="Flow_09rlvh0" sourceRef="Activity_0t82j94" targetRef="Activity_15kgp0b"/>
     <bpmn2:task id="Activity_1fmd24b" name="Load user" camunda:modelerTemplate="org.drupal.action.eca_token_load_user_current">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_load_user_current" />
+          <camunda:property name="pluginid" value="eca_token_load_user_current"/>
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>user</camunda:string>
@@ -175,85 +175,85 @@
       <bpmn2:incoming>Flow_0dsly6p</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1re3p11</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0dsly6p" sourceRef="Activity_0w47i6f" targetRef="Activity_1fmd24b" />
-    <bpmn2:sequenceFlow id="Flow_1re3p11" sourceRef="Activity_1fmd24b" targetRef="Activity_0t82j94" />
+    <bpmn2:sequenceFlow id="Flow_0dsly6p" sourceRef="Activity_0w47i6f" targetRef="Activity_1fmd24b"/>
+    <bpmn2:sequenceFlow id="Flow_1re3p11" sourceRef="Activity_1fmd24b" targetRef="Activity_0t82j94"/>
   </bpmn2:process>
   <bpmndi:BPMNDiagram id="sid-8cd14854-404a-49cb-af94-e8c4958ea589">
     <bpmndi:BPMNPlane id="sid-8f30f833-1327-4fce-94e1-3a8e4a72d878" bpmnElement="eca_test_0004">
       <bpmndi:BPMNShape id="Event_0033g46_di" bpmnElement="Event_0033g46">
-        <dc:Bounds x="362" y="112" width="36" height="36" />
+        <dc:Bounds x="362" y="112" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="349" y="155" width="63" height="14" />
+          <dc:Bounds x="349" y="155" width="63" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_00b702g_di" bpmnElement="Activity_00b702g">
-        <dc:Bounds x="450" y="90" width="100" height="80" />
+        <dc:Bounds x="450" y="90" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_0vwr0rl_di" bpmnElement="Event_0vwr0rl">
-        <dc:Bounds x="362" y="222" width="36" height="36" />
+        <dc:Bounds x="362" y="222" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="345" y="265" width="72" height="14" />
+          <dc:Bounds x="345" y="265" width="72" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1a19oxh_di" bpmnElement="Activity_1a19oxh">
-        <dc:Bounds x="450" y="200" width="100" height="80" />
+        <dc:Bounds x="450" y="200" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0w47i6f_di" bpmnElement="Activity_0w47i6f">
-        <dc:Bounds x="450" y="310" width="100" height="80" />
+        <dc:Bounds x="450" y="310" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0u9ayn3_di" bpmnElement="Activity_0u9ayn3">
-        <dc:Bounds x="610" y="200" width="100" height="80" />
+        <dc:Bounds x="610" y="200" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_10999pm_di" bpmnElement="Activity_10999pm">
-        <dc:Bounds x="610" y="310" width="100" height="80" />
+        <dc:Bounds x="610" y="310" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0t82j94_di" bpmnElement="Activity_0t82j94">
-        <dc:Bounds x="770" y="420" width="100" height="80" />
+        <dc:Bounds x="770" y="420" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_15kgp0b_di" bpmnElement="Activity_15kgp0b">
-        <dc:Bounds x="930" y="420" width="100" height="80" />
+        <dc:Bounds x="930" y="420" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1fmd24b_di" bpmnElement="Activity_1fmd24b">
-        <dc:Bounds x="610" y="420" width="100" height="80" />
+        <dc:Bounds x="610" y="420" width="100" height="80"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_1ra0s31_di" bpmnElement="Flow_1ra0s31">
-        <di:waypoint x="398" y="130" />
-        <di:waypoint x="450" y="130" />
+        <di:waypoint x="398" y="130"/>
+        <di:waypoint x="450" y="130"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_13o8euq_di" bpmnElement="Flow_13o8euq">
-        <di:waypoint x="398" y="240" />
-        <di:waypoint x="450" y="240" />
+        <di:waypoint x="398" y="240"/>
+        <di:waypoint x="450" y="240"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1kvuedg_di" bpmnElement="Flow_1kvuedg">
-        <di:waypoint x="550" y="240" />
-        <di:waypoint x="610" y="240" />
+        <di:waypoint x="550" y="240"/>
+        <di:waypoint x="610" y="240"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1x6c2k2_di" bpmnElement="Flow_1x6c2k2">
-        <di:waypoint x="550" y="350" />
-        <di:waypoint x="610" y="350" />
+        <di:waypoint x="550" y="350"/>
+        <di:waypoint x="610" y="350"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0rnawfp_di" bpmnElement="Flow_0rnawfp">
-        <di:waypoint x="398" y="240" />
-        <di:waypoint x="424" y="240" />
-        <di:waypoint x="424" y="350" />
-        <di:waypoint x="450" y="350" />
+        <di:waypoint x="398" y="240"/>
+        <di:waypoint x="424" y="240"/>
+        <di:waypoint x="424" y="350"/>
+        <di:waypoint x="450" y="350"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="376" y="313" width="48" height="14" />
+          <dc:Bounds x="376" y="313" width="48" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_09rlvh0_di" bpmnElement="Flow_09rlvh0">
-        <di:waypoint x="870" y="460" />
-        <di:waypoint x="930" y="460" />
+        <di:waypoint x="870" y="460"/>
+        <di:waypoint x="930" y="460"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_0dsly6p_di" bpmnElement="Flow_0dsly6p">
-        <di:waypoint x="550" y="350" />
-        <di:waypoint x="580" y="350" />
-        <di:waypoint x="580" y="460" />
-        <di:waypoint x="610" y="460" />
+        <di:waypoint x="550" y="350"/>
+        <di:waypoint x="580" y="350"/>
+        <di:waypoint x="580" y="460"/>
+        <di:waypoint x="610" y="460"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1re3p11_di" bpmnElement="Flow_1re3p11">
-        <di:waypoint x="710" y="460" />
-        <di:waypoint x="770" y="460" />
+        <di:waypoint x="710" y="460"/>
+        <di:waypoint x="770" y="460"/>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
diff --git a/docs/library/test models/entity_events_part_1.md b/docs/library/test models/entity_events_part_1.md
index 07e00c2f..4029a7a4 100644
--- a/docs/library/test models/entity_events_part_1.md	
+++ b/docs/library/test models/entity_events_part_1.md	
@@ -14,6 +14,13 @@ Version v1
 <script>url='bpmn_io-eca_test_0002.xml';archive='bpmn_io-eca_test_0002.tar.gz'</script>
 {!include/library/viewer.html!}
 
+Instead of downloading the archive, you can download and apply this model as a recipe (Drupal 10.3 or later):
+
+```shell
+composer require drupal-eca-recipe/entity_events_part_1
+cd web && php core/scripts/drupal recipe ../vendor/drupal-eca-recipe/entity_events_part_1
+```
+
 ## Purpose
 
 Triggers custom events in the same model and in another model, see also &quot;Entity Events Part 2&quot;
@@ -41,9 +48,6 @@ Triggers custom events in the same model and in another model, see also &quot;En
 - [Trigger C2](/plugins/eca/content/actions/eca_trigger_content_entity_custom_event.md)
 - [Load current user](/plugins/eca/user/actions/eca_token_load_user_current.md)
 - [Trigger C3](/plugins/eca/content/actions/eca_trigger_content_entity_custom_event.md)
-- [Msg](/plugins/core/actions/action_message_action.md)
-- [Msg](/plugins/core/actions/action_message_action.md)
-- [Msg](/plugins/core/actions/action_message_action.md)
 - [Trigger Cplain](/plugins/eca/base/actions/eca_trigger_custom_event.md)
 
 ## Changelog
diff --git a/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.tar.gz b/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.tar.gz
index 67c2852b..2a604ff2 100644
--- a/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.tar.gz	
+++ b/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.tar.gz	
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:900bcebc86cfdecc7931169256656e6a883ed66bc1631aadea8e74a4e23f89d7
-size 2823
+oid sha256:e7e7413dd83811297df033f7924c7814d452d6992be058fced347d72c87afb6d
+size 2821
diff --git a/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.xml b/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.xml
index 8a6f82fe..0635bb05 100644
--- a/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.xml	
+++ b/docs/library/test models/entity_events_part_1/bpmn_io-eca_test_0002.xml	
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:qa="http://some-company/schema/bpmn/qa" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="eca_test_0002" name="Entity Events Part 1" isExecutable="true" camunda:versionTag="v1">
-    <bpmn2:documentation>Triggers custom events in the same model and in anoher model, see also "Entity Events Part 2"</bpmn2:documentation>
+    <bpmn2:documentation>Triggers custom events in the same model and in another model, see also "Entity Events Part 2"</bpmn2:documentation>
     <bpmn2:extensionElements>
       <camunda:properties>
-        <camunda:property name="Tags" value="test models,custom event"/>
-        <camunda:property name="Changelog v1" value="Initial version"/>
+        <camunda:property name="Tags" value="test models,custom event" />
+        <camunda:property name="Changelog v1" value="Initial version" />
       </camunda:properties>
     </bpmn2:extensionElements>
     <bpmn2:startEvent id="Event_0wm7ta0" name="Pre-save" camunda:modelerTemplate="org.drupal.event.content_entity:presave">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:presave"/>
+          <camunda:property name="pluginid" value="content_entity:presave" />
         </camunda:properties>
         <camunda:field name="type">
           <camunda:string>node _all</camunda:string>
@@ -22,7 +22,7 @@
     <bpmn2:task id="Activity_1do22d1" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action"/>
+          <camunda:property name="pluginid" value="action_message_action" />
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Message 0: [entity:title]</camunda:string>
@@ -37,47 +37,47 @@
       <bpmn2:outgoing>Flow_07573re</bpmn2:outgoing>
       <bpmn2:outgoing>Flow_1nuigcv</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_0q9qnp2" sourceRef="Event_0wm7ta0" targetRef="Activity_1do22d1"/>
+    <bpmn2:sequenceFlow id="Flow_0q9qnp2" sourceRef="Event_0wm7ta0" targetRef="Activity_1do22d1" />
     <bpmn2:task id="Activity_03j3ob6" name="Trigger C1" camunda:modelerTemplate="org.drupal.action.eca_trigger_content_entity_custom_event">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_trigger_content_entity_custom_event"/>
+          <camunda:property name="pluginid" value="eca_trigger_content_entity_custom_event" />
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>C1</camunda:string>
         </camunda:field>
         <camunda:field name="object">
-          <camunda:string/>
+          <camunda:string></camunda:string>
         </camunda:field>
         <camunda:field name="tokens">
-          <camunda:string/>
+          <camunda:string></camunda:string>
         </camunda:field>
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1fp65q6</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1fp65q6" sourceRef="Activity_1do22d1" targetRef="Activity_03j3ob6"/>
+    <bpmn2:sequenceFlow id="Flow_1fp65q6" sourceRef="Activity_1do22d1" targetRef="Activity_03j3ob6" />
     <bpmn2:task id="Activity_1k70gka" name="Trigger C2" camunda:modelerTemplate="org.drupal.action.eca_trigger_content_entity_custom_event">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_trigger_content_entity_custom_event"/>
+          <camunda:property name="pluginid" value="eca_trigger_content_entity_custom_event" />
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>C2</camunda:string>
         </camunda:field>
         <camunda:field name="object">
-          <camunda:string/>
+          <camunda:string></camunda:string>
         </camunda:field>
         <camunda:field name="tokens">
-          <camunda:string/>
+          <camunda:string></camunda:string>
         </camunda:field>
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1midj5u</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1midj5u" sourceRef="Activity_1do22d1" targetRef="Activity_1k70gka"/>
+    <bpmn2:sequenceFlow id="Flow_1midj5u" sourceRef="Activity_1do22d1" targetRef="Activity_1k70gka" />
     <bpmn2:task id="Activity_150pgta" name="Load current user" camunda:modelerTemplate="org.drupal.action.eca_token_load_user_current">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_token_load_user_current"/>
+          <camunda:property name="pluginid" value="eca_token_load_user_current" />
         </camunda:properties>
         <camunda:field name="token_name">
           <camunda:string>user</camunda:string>
@@ -86,11 +86,11 @@
       <bpmn2:incoming>Flow_07573re</bpmn2:incoming>
       <bpmn2:outgoing>Flow_1pcphdm</bpmn2:outgoing>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_07573re" sourceRef="Activity_1do22d1" targetRef="Activity_150pgta"/>
+    <bpmn2:sequenceFlow id="Flow_07573re" sourceRef="Activity_1do22d1" targetRef="Activity_150pgta" />
     <bpmn2:task id="Activity_1acmymx" name="Trigger C3" camunda:modelerTemplate="org.drupal.action.eca_trigger_content_entity_custom_event">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_trigger_content_entity_custom_event"/>
+          <camunda:property name="pluginid" value="eca_trigger_content_entity_custom_event" />
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>C3</camunda:string>
@@ -99,16 +99,16 @@
           <camunda:string>user</camunda:string>
         </camunda:field>
         <camunda:field name="tokens">
-          <camunda:string/>
+          <camunda:string></camunda:string>
         </camunda:field>
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1pcphdm</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1pcphdm" sourceRef="Activity_150pgta" targetRef="Activity_1acmymx"/>
+    <bpmn2:sequenceFlow id="Flow_1pcphdm" sourceRef="Activity_150pgta" targetRef="Activity_1acmymx" />
     <bpmn2:startEvent id="Event_0sr0xl6" name="C1" camunda:modelerTemplate="org.drupal.event.content_entity:custom">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:custom"/>
+          <camunda:property name="pluginid" value="content_entity:custom" />
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>C1</camunda:string>
@@ -119,7 +119,7 @@
     <bpmn2:task id="Activity_1sh3bdl" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action"/>
+          <camunda:property name="pluginid" value="action_message_action" />
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Message 1: [entity:title]</camunda:string>
@@ -130,11 +130,11 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_152qgh8</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_152qgh8" sourceRef="Event_0sr0xl6" targetRef="Activity_1sh3bdl"/>
+    <bpmn2:sequenceFlow id="Flow_152qgh8" sourceRef="Event_0sr0xl6" targetRef="Activity_1sh3bdl" />
     <bpmn2:startEvent id="Event_1l6ov1l" name="Set current user" camunda:modelerTemplate="org.drupal.event.user:set_user">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="user:set_user"/>
+          <camunda:property name="pluginid" value="user:set_user" />
         </camunda:properties>
       </bpmn2:extensionElements>
       <bpmn2:outgoing>Flow_1yavd65</bpmn2:outgoing>
@@ -142,7 +142,7 @@
     <bpmn2:task id="Activity_1p5hvp4" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action"/>
+          <camunda:property name="pluginid" value="action_message_action" />
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Message set current user: [entity:title]</camunda:string>
@@ -153,14 +153,14 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1yavd65</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1yavd65" sourceRef="Event_1l6ov1l" targetRef="Activity_1p5hvp4"/>
+    <bpmn2:sequenceFlow id="Flow_1yavd65" sourceRef="Event_1l6ov1l" targetRef="Activity_1p5hvp4" />
     <bpmn2:startEvent id="Event_0n1zpul" name="Cplain" camunda:modelerTemplate="org.drupal.event.eca_base:eca_custom">
       <bpmn2:extensionElements>
         <camunda:field name="event_id">
-          <camunda:string/>
+          <camunda:string></camunda:string>
         </camunda:field>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_base:eca_custom"/>
+          <camunda:property name="pluginid" value="eca_base:eca_custom" />
         </camunda:properties>
       </bpmn2:extensionElements>
       <bpmn2:outgoing>Flow_03kjk40</bpmn2:outgoing>
@@ -168,7 +168,7 @@
     <bpmn2:task id="Activity_1gguvde" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action"/>
+          <camunda:property name="pluginid" value="action_message_action" />
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Message without event: [entity:title]</camunda:string>
@@ -179,126 +179,126 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_03kjk40</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_03kjk40" sourceRef="Event_0n1zpul" targetRef="Activity_1gguvde"/>
+    <bpmn2:sequenceFlow id="Flow_03kjk40" sourceRef="Event_0n1zpul" targetRef="Activity_1gguvde" />
     <bpmn2:task id="Activity_00ca469" name="Trigger Cplain" camunda:modelerTemplate="org.drupal.action.eca_trigger_custom_event">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="eca_trigger_custom_event"/>
+          <camunda:property name="pluginid" value="eca_trigger_custom_event" />
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>Cplain</camunda:string>
         </camunda:field>
         <camunda:field name="tokens">
-          <camunda:string/>
+          <camunda:string></camunda:string>
         </camunda:field>
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1nuigcv</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1nuigcv" sourceRef="Activity_1do22d1" targetRef="Activity_00ca469"/>
+    <bpmn2:sequenceFlow id="Flow_1nuigcv" sourceRef="Activity_1do22d1" targetRef="Activity_00ca469" />
   </bpmn2:process>
   <bpmndi:BPMNDiagram id="sid-d1b48bf9-61b0-4bf2-982a-c9f950e5a351">
     <bpmndi:BPMNPlane id="sid-7482647b-ef22-420e-a044-ea63b2a2a979" bpmnElement="eca_test_0002">
       <bpmndi:BPMNShape id="Event_0wm7ta0_di" bpmnElement="Event_0wm7ta0">
-        <dc:Bounds x="332" y="152" width="36" height="36"/>
+        <dc:Bounds x="332" y="152" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="329" y="195" width="45" height="14"/>
+          <dc:Bounds x="329" y="195" width="45" height="14" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1do22d1_di" bpmnElement="Activity_1do22d1">
-        <dc:Bounds x="420" y="130" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="420" y="130" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_03j3ob6_di" bpmnElement="Activity_03j3ob6">
-        <dc:Bounds x="580" y="130" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="580" y="130" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1k70gka_di" bpmnElement="Activity_1k70gka">
-        <dc:Bounds x="580" y="240" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="580" y="240" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_150pgta_di" bpmnElement="Activity_150pgta">
-        <dc:Bounds x="580" y="350" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="580" y="350" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1acmymx_di" bpmnElement="Activity_1acmymx">
-        <dc:Bounds x="740" y="350" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="740" y="350" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_0sr0xl6_di" bpmnElement="Event_0sr0xl6">
-        <dc:Bounds x="332" y="372" width="36" height="36"/>
+        <dc:Bounds x="332" y="372" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="343" y="415" width="15" height="14"/>
+          <dc:Bounds x="343" y="415" width="15" height="14" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1sh3bdl_di" bpmnElement="Activity_1sh3bdl">
-        <dc:Bounds x="420" y="350" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="420" y="350" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_1l6ov1l_di" bpmnElement="Event_1l6ov1l">
-        <dc:Bounds x="332" y="612" width="36" height="36"/>
+        <dc:Bounds x="332" y="612" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="312" y="655" width="79" height="14"/>
+          <dc:Bounds x="312" y="655" width="79" height="14" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1p5hvp4_di" bpmnElement="Activity_1p5hvp4">
-        <dc:Bounds x="420" y="590" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="420" y="590" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_0n1zpul_di" bpmnElement="Event_0n1zpul">
-        <dc:Bounds x="332" y="492" width="36" height="36"/>
+        <dc:Bounds x="332" y="492" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="335" y="535" width="32" height="14"/>
+          <dc:Bounds x="335" y="535" width="32" height="14" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1gguvde_di" bpmnElement="Activity_1gguvde">
-        <dc:Bounds x="420" y="470" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="420" y="470" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_00ca469_di" bpmnElement="Activity_00ca469">
-        <dc:Bounds x="580" y="460" width="100" height="80"/>
-        <bpmndi:BPMNLabel/>
+        <dc:Bounds x="580" y="460" width="100" height="80" />
+        <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_0q9qnp2_di" bpmnElement="Flow_0q9qnp2">
-        <di:waypoint x="368" y="170"/>
-        <di:waypoint x="420" y="170"/>
+        <di:waypoint x="368" y="170" />
+        <di:waypoint x="420" y="170" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1fp65q6_di" bpmnElement="Flow_1fp65q6">
-        <di:waypoint x="520" y="170"/>
-        <di:waypoint x="580" y="170"/>
+        <di:waypoint x="520" y="170" />
+        <di:waypoint x="580" y="170" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1midj5u_di" bpmnElement="Flow_1midj5u">
-        <di:waypoint x="520" y="170"/>
-        <di:waypoint x="550" y="170"/>
-        <di:waypoint x="550" y="280"/>
-        <di:waypoint x="580" y="280"/>
+        <di:waypoint x="520" y="170" />
+        <di:waypoint x="550" y="170" />
+        <di:waypoint x="550" y="280" />
+        <di:waypoint x="580" y="280" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_07573re_di" bpmnElement="Flow_07573re">
-        <di:waypoint x="520" y="170"/>
-        <di:waypoint x="550" y="170"/>
-        <di:waypoint x="550" y="390"/>
-        <di:waypoint x="580" y="390"/>
+        <di:waypoint x="520" y="170" />
+        <di:waypoint x="550" y="170" />
+        <di:waypoint x="550" y="390" />
+        <di:waypoint x="580" y="390" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1pcphdm_di" bpmnElement="Flow_1pcphdm">
-        <di:waypoint x="680" y="390"/>
-        <di:waypoint x="740" y="390"/>
+        <di:waypoint x="680" y="390" />
+        <di:waypoint x="740" y="390" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_152qgh8_di" bpmnElement="Flow_152qgh8">
-        <di:waypoint x="368" y="390"/>
-        <di:waypoint x="420" y="390"/>
+        <di:waypoint x="368" y="390" />
+        <di:waypoint x="420" y="390" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1yavd65_di" bpmnElement="Flow_1yavd65">
-        <di:waypoint x="368" y="630"/>
-        <di:waypoint x="420" y="630"/>
+        <di:waypoint x="368" y="630" />
+        <di:waypoint x="420" y="630" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_03kjk40_di" bpmnElement="Flow_03kjk40">
-        <di:waypoint x="368" y="510"/>
-        <di:waypoint x="420" y="510"/>
+        <di:waypoint x="368" y="510" />
+        <di:waypoint x="420" y="510" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1nuigcv_di" bpmnElement="Flow_1nuigcv">
-        <di:waypoint x="520" y="170"/>
-        <di:waypoint x="550" y="170"/>
-        <di:waypoint x="550" y="500"/>
-        <di:waypoint x="580" y="500"/>
+        <di:waypoint x="520" y="170" />
+        <di:waypoint x="550" y="170" />
+        <di:waypoint x="550" y="500" />
+        <di:waypoint x="580" y="500" />
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
diff --git a/docs/library/test models/entity_events_part_2.md b/docs/library/test models/entity_events_part_2.md
index 0d7a6c89..52797afc 100644
--- a/docs/library/test models/entity_events_part_2.md	
+++ b/docs/library/test models/entity_events_part_2.md	
@@ -14,6 +14,13 @@ Version v1
 <script>url='bpmn_io-eca_test_0003.xml';archive='bpmn_io-eca_test_0003.tar.gz'</script>
 {!include/library/viewer.html!}
 
+Instead of downloading the archive, you can download and apply this model as a recipe (Drupal 10.3 or later):
+
+```shell
+composer require drupal-eca-recipe/entity_events_part_2
+cd web && php core/scripts/drupal recipe ../vendor/drupal-eca-recipe/entity_events_part_2
+```
+
 ## Purpose
 
 Implements 2 custom events that get triggered by another model, see also &quot;Entity Events Part 1&quot;
@@ -32,7 +39,6 @@ Implements 2 custom events that get triggered by another model, see also &quot;E
 
 ### Actions
 
-- [Msg](/plugins/core/actions/action_message_action.md)
 - [Msg](/plugins/core/actions/action_message_action.md)
 
 ## Changelog
diff --git a/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.tar.gz b/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.tar.gz
index 93d646ed..c1360616 100644
--- a/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.tar.gz	
+++ b/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.tar.gz	
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:470d271b3420264410d3c229b46e96353edf180fc9ea8b703fa8da24fbf34845
-size 1796
+oid sha256:8906df35d1fb62a2cda07b50b46e4fba162e5249b27882d2dd2bb649f413b15d
+size 1791
diff --git a/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.xml b/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.xml
index fb11eda3..2139b478 100644
--- a/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.xml	
+++ b/docs/library/test models/entity_events_part_2/bpmn_io-eca_test_0003.xml	
@@ -4,14 +4,14 @@
     <bpmn2:documentation>Implements 2 custom events that get triggered by another model, see also "Entity Events Part 1"</bpmn2:documentation>
     <bpmn2:extensionElements>
       <camunda:properties>
-        <camunda:property name="Tags" value="test models,custom event" />
-        <camunda:property name="Changelog v1" value="Initial version" />
+        <camunda:property name="Tags" value="test models,custom event"/>
+        <camunda:property name="Changelog v1" value="Initial version"/>
       </camunda:properties>
     </bpmn2:extensionElements>
     <bpmn2:startEvent id="Event_0865lkv" name="C2" camunda:modelerTemplate="org.drupal.event.content_entity:custom">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:custom" />
+          <camunda:property name="pluginid" value="content_entity:custom"/>
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>C2</camunda:string>
@@ -22,7 +22,7 @@
     <bpmn2:task id="Activity_1ciefod" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action" />
+          <camunda:property name="pluginid" value="action_message_action"/>
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Message 2: [entity:title]</camunda:string>
@@ -33,11 +33,11 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1xtop1o</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1xtop1o" sourceRef="Event_0865lkv" targetRef="Activity_1ciefod" />
+    <bpmn2:sequenceFlow id="Flow_1xtop1o" sourceRef="Event_0865lkv" targetRef="Activity_1ciefod"/>
     <bpmn2:startEvent id="Event_1x9pqyk" name="C3" camunda:modelerTemplate="org.drupal.event.content_entity:custom">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="content_entity:custom" />
+          <camunda:property name="pluginid" value="content_entity:custom"/>
         </camunda:properties>
         <camunda:field name="event_id">
           <camunda:string>C3</camunda:string>
@@ -48,7 +48,7 @@
     <bpmn2:task id="Activity_0c0cfkg" name="Msg" camunda:modelerTemplate="org.drupal.action.action_message_action">
       <bpmn2:extensionElements>
         <camunda:properties>
-          <camunda:property name="pluginid" value="action_message_action" />
+          <camunda:property name="pluginid" value="action_message_action"/>
         </camunda:properties>
         <camunda:field name="message">
           <camunda:string>Message 3: [entity:name]</camunda:string>
@@ -59,37 +59,37 @@
       </bpmn2:extensionElements>
       <bpmn2:incoming>Flow_1tswj75</bpmn2:incoming>
     </bpmn2:task>
-    <bpmn2:sequenceFlow id="Flow_1tswj75" sourceRef="Event_1x9pqyk" targetRef="Activity_0c0cfkg" />
+    <bpmn2:sequenceFlow id="Flow_1tswj75" sourceRef="Event_1x9pqyk" targetRef="Activity_0c0cfkg"/>
   </bpmn2:process>
   <bpmndi:BPMNDiagram id="sid-673c4135-7c62-4cc7-96cd-9b32838d6d97">
     <bpmndi:BPMNPlane id="sid-455eb28e-9d41-4a96-b2b8-a10356e11239" bpmnElement="eca_test_0003">
       <bpmndi:BPMNShape id="Event_0865lkv_di" bpmnElement="Event_0865lkv">
-        <dc:Bounds x="252" y="82" width="36" height="36" />
+        <dc:Bounds x="252" y="82" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="263" y="125" width="15" height="14" />
+          <dc:Bounds x="263" y="125" width="15" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_1ciefod_di" bpmnElement="Activity_1ciefod">
-        <dc:Bounds x="340" y="60" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="340" y="60" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_1x9pqyk_di" bpmnElement="Event_1x9pqyk">
-        <dc:Bounds x="252" y="212" width="36" height="36" />
+        <dc:Bounds x="252" y="212" width="36" height="36"/>
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="263" y="255" width="15" height="14" />
+          <dc:Bounds x="263" y="255" width="15" height="14"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Activity_0c0cfkg_di" bpmnElement="Activity_0c0cfkg">
-        <dc:Bounds x="340" y="190" width="100" height="80" />
-        <bpmndi:BPMNLabel />
+        <dc:Bounds x="340" y="190" width="100" height="80"/>
+        <bpmndi:BPMNLabel/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_1xtop1o_di" bpmnElement="Flow_1xtop1o">
-        <di:waypoint x="288" y="100" />
-        <di:waypoint x="340" y="100" />
+        <di:waypoint x="288" y="100"/>
+        <di:waypoint x="340" y="100"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="Flow_1tswj75_di" bpmnElement="Flow_1tswj75">
-        <di:waypoint x="288" y="230" />
-        <di:waypoint x="340" y="230" />
+        <di:waypoint x="288" y="230"/>
+        <di:waypoint x="340" y="230"/>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
diff --git a/docs/library/use case/eca_feature_demo.md b/docs/library/use case/eca_feature_demo.md
index 46045204..b8612c55 100644
--- a/docs/library/use case/eca_feature_demo.md	
+++ b/docs/library/use case/eca_feature_demo.md	
@@ -14,6 +14,13 @@ Version v1
 <script>url='bpmn_io-eca_lib_0007.xml';archive='bpmn_io-eca_lib_0007.tar.gz'</script>
 {!include/library/viewer.html!}
 
+Instead of downloading the archive, you can download and apply this model as a recipe (Drupal 10.3 or later):
+
+```shell
+composer require drupal-eca-recipe/eca_feature_demo
+cd web && php core/scripts/drupal recipe ../vendor/drupal-eca-recipe/eca_feature_demo
+```
+
 ## Purpose
 
 This model demonstrates a number of smart features around user accounts:
@@ -46,13 +53,8 @@ The assignment of the internal user role assigns that role to the current user i
 
 ### Conditions
 
-- [Role of current user](/plugins/eca/user/conditions/eca_current_user_role.md)
 - [Role of current user](/plugins/eca/user/conditions/eca_current_user_role.md)
 - [Compare number of list items](/plugins/eca/base/conditions/eca_count.md)
-- [Role of current user](/plugins/eca/user/conditions/eca_current_user_role.md)
-- [Role of current user](/plugins/eca/user/conditions/eca_current_user_role.md)
-- [Role of current user](/plugins/eca/user/conditions/eca_current_user_role.md)
-- [Compare two scalar values](/plugins/eca/base/conditions/eca_scalar.md)
 - [Compare two scalar values](/plugins/eca/base/conditions/eca_scalar.md)
 - [Role of user](/plugins/eca/user/conditions/eca_user_role.md)
 
@@ -71,7 +73,6 @@ admin users](/plugins/eca/views/actions/eca_views_query.md)
 - [Display link to Mailhog](/plugins/eca/base/actions/eca_warning_message.md)
 - [Add internal role](/plugins/user/actions/user_add_role_action.md)
 - [Remove internal role](/plugins/user/actions/user_remove_role_action.md)
-- [Switch user](/plugins/eca/user/actions/eca_switch_account.md)
 - [Message](/plugins/core/actions/action_message_action.md)
 - [Warning](/plugins/eca/base/actions/eca_warning_message.md)
 - [Save user as token](/plugins/eca/base/actions/eca_token_set_value.md)
diff --git a/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.tar.gz b/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.tar.gz
index 57731f84..5f235bd9 100644
--- a/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.tar.gz	
+++ b/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.tar.gz	
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:5a7611427ad1b03376da0cb126ddbc43c26ac9526bc13ac09d7ac931ba4b2ae1
-size 8658
+oid sha256:73f07b09edf0a382eb78fc040e96c7a4448cd890fb70d54f0bd2f92064a986fe
+size 8667
diff --git a/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.xml b/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.xml
index 5eaf0cda..a21a0972 100644
--- a/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.xml	
+++ b/docs/library/use case/eca_feature_demo/bpmn_io-eca_lib_0007.xml	
@@ -7,7 +7,7 @@
 2. When a user logs in, a number of actions applies: depending on their role, different redirect destinations will be used after login. Also, the assigment of the internal user role gets executed, see below.
 3. When a user gets updated, the assigment of the internal user role also gets executed.
 
-The assignment of the internal user role assigns that role to the current user if their email domain contains @example.com and removes it otherwise. It does that only if the situation had changed and also displayes an according message on screen.
+The assignment of the internal user role assigns that role to the current user if their email domain contains @example.com and removes it otherwise. It does that only if the situation had changed and also displays an according message on screen.
 </bpmn2:documentation>
     <bpmn2:extensionElements>
       <camunda:properties>
-- 
GitLab