Optimized Trigger/MultiTrigger and added a new interface ITrigger