Add silence.
Make envelope handle 0 durations, and add an onComplete callback.