Hmm make sense,
What I mean, when pauseWait() called, it's like regular pause, but waiting for next tween to complete then pause is trigger, it's like using Promise.
Calculating by current duration, like first solution you did.
After current tween complete / on next tween.
or maybe the function name can be called timeline.pauseNext() ?
Anyway second solution is more awesome, especially when I have dynamic duration each animation.