Description
The zk watcher responsible for creating triggers creates them blindly without checking if the trigger is actually modified. This is be design as ScheduledTriggers.add is a no-op if the trigger being added is unchanged. However, since the trigger's actions are initialised in the trigger's constructor, they are inited needlessly by the zk watcher thread even though we may never schedule those trigger instances (because they are unchanged). So I propose to change the TriggerAction lifecycle such that the TriggerAction.init is only called when the trigger is actually ready to be scheduled.