allow specifying `triggerSlots` instead of explicit triggers and slots with ids