diff --git a/control/templates/defs.mako b/control/templates/defs.mako
index d574c57..9d66461 100644
--- a/control/templates/defs.mako
+++ b/control/templates/defs.mako
@@ -3,6 +3,23 @@
     return ''.join(4*' '*depth+line for line in str.splitlines(True))
 %>\
 
+<%def name="genParams(par)" buffered="True">
+%if ('type' in par['hparams']) and \
+    (par['hparams']['type'] is not None):
+handler::${par['handler']}<${par['hparams']['type']}>(
+%else:
+handler::${par['handler']}(
+%endif
+%for i, hpk in enumerate(par['hparams']['params']):
+    %if (i+1) != len(par['hparams']['params']):
+    ${par['hparams'][hpk]},
+    %else:
+    ${par['hparams'][hpk]}
+    %endif
+%endfor
+)
+</%def>\
+
 <%def name="genHandler(sig)" buffered="True">
 %if ('type' in sig['sparams']) and \
     (sig['sparams']['type'] is not None):
@@ -13,20 +30,8 @@
 %for spk in sig['sparams']['params']:
 ${sig['sparams'][spk]},
 %endfor
-%if ('type' in sig['hparams']) and \
-    (sig['hparams']['type'] is not None):
-handler::${sig['handler']}<${sig['hparams']['type']}>(
-%else:
-handler::${sig['handler']}(
-%endif
-%for i, hpk in enumerate(sig['hparams']['params']):
-    %if (i+1) != len(sig['hparams']['params']):
-    ${sig['hparams'][hpk]},
-    %else:
-    ${sig['hparams'][hpk]}
-    %endif
-%endfor
-))
+${genParams(par=sig)}\
+)
 </%def>\
 
 <%def name="genSSE(event)" buffered="True">
@@ -90,5 +95,16 @@
     )),
     %endfor
     %endif
+    %if ('init' in event['triggers']):
+    %for i in event['triggers']['init']:
+    make_trigger(trigger::init(
+        %if ('handler' in i):
+        make_handler(\
+        ${indent(genParams(par=i), 3)}\
+        )
+        %endif
+    )),
+    %endfor
+    %endif
 },
 </%def>\
