Fix bug (from Charles) where a SerialElement would dispatch the durationReached event early because the currentTime-duration comparison would return a false positive. The bug was a result of not updating the composite trait's current time value when children are added and removed (thus improving the chance that the duration will have the right value and the current time won't).