> This trigger should be based on the playback of the MainMedia.

By this, you mean that trigger should execute after `time` seconds of video — so if the user pauses video, the trigger won't fire until they resume and the correct amount of time elapses? In other words, something like this rough sketch:

     vid.bind('timeupdate', function (event) {
         var playtime = event.target.currentTime
               i = 0;
          for (i = 0; i < triggers.length; i += 1) {
             // the trigger's updateTime() method might call execute()
             // and call the callback its event passed to it
             triggers[i].updateTime(1000);
          }
     })

Is that more or less what you're thinking?