             if self.clips.count > 0 {
                 if let clipToRemove = self.clips.last {
                     self.remove(clip: clipToRemove)
-                    self.sessionDuration = self.sessionDuration - clipToRemove.duration
+                    self._duration = self._duration - clipToRemove.duration
                 }
             }
         }

    
    convenience init(queue: DispatchQueue, queueKey: DispatchSpecificKey<NSObject>) {
        self.init()
        self.sessionQueue = queue
        self.sessionQueueKey = queueKey
    }
    
    override init() {

    internal var _videoConfiguration: NextLevelVideoConfiguration?
    internal var _audioConfiguration: NextLevelAudioConfiguration?
    
    internal var _audioQueue: DispatchQueue
    internal var _sessionQueue: DispatchQueue
    internal var _sessionQueueKey: DispatchSpecificKey<NSObject>
    
    internal var _currentClipDuration: CMTime
    internal var _currentClipHasAudio: Bool
    internal var _currentClipHasVideo: Bool

    internal var _clipStarted: Bool
    internal var _timeOffset: CMTime
    internal var _startTimestamp: CMTime
    internal var _lastAudioTimestamp: CMTime
    internal var _lastVideoTimestamp: CMTime
    
    private let NextLevelSessionAudioQueueIdentifier = "engineering.NextLevel.session.audioQueue"
    private let NextLevelSessionQueueIdentifier = "engineering.NextLevel.sessionQueue"
