Neat idea, thanks for posting this!<p>I readily admit I&#x27;m absolutely guilty of implementing this sort pattern repeatedly across many go apps, and haven&#x27;t ever [yet] gotten to making a generic implementation :)<p>Some interesting notes (with a few curiosities):<p>* This reminds me a lot of how jinzhu implemented the gorm [0] callbacks system.<p>* The triggering is all global rather than per-instance (you can&#x27;t create a new &quot;trigger&quot; struct).  I wonder why this pattern was selected rather than allowing more fine-grained control and groups via instances.<p>* Looking at the open PRs, #1 [1] was a surprise:<p><pre><code>    Adding multiple listeners to one event enhancement
</code></pre>
Does go-trigger really not support multiple subscribers to an event?  I wonder why it wasn&#x27;t architected that way from the start.<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;jinzhu&#x2F;gorm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jinzhu&#x2F;gorm</a><p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;sadlil&#x2F;go-trigger&#x2F;pull&#x2F;1" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sadlil&#x2F;go-trigger&#x2F;pull&#x2F;1</a>