Change TriggerEvent to template method