Moved the redundant code between `EntityWithTriggers<>` and `Triggers<>` into a shared abstract class