I appreciate the expression template. Sadly, I wasn't able to impliment it correctly but I also realize that I'm making this more complicated than necessary.
What if I added an expression to the time remap where the Slider's position (1 through 6) was the start point and the composition played for 29 frames before looping back to the same Slider point? That way, each expression would loop in blocks of 29 frames, which no one would notice unless the facial feature was likewise animated.
I'm not very strong at scripting so I can only imagine modifying the LoopOut expression.
I think that would only make a slight difference:
s = effect("Eyebrow Tear")("Slider");
n = 0;
if (s.numKeys > 0){
n = s.nearestKey(time).index;
if (time < s.key(n).time) n--;
if (n > 0){
val = s.key(n).value;
}else{
val = s.key(1).value;
}
}else{
val = s.value;
}
if (n > 0){
val + (time - s.key(n).time)%framesToTime(29);
}else{
val;
}