     }
 
     private var renderObserverToken: Int?
+    public var renderObserver: AURenderObserver?
 
     private func updateSequence() {
         guard let block = targetNode?.avAudioNode.auAudioUnit.scheduleMIDIEventBlock else {


            guard let auAudioUnit = targetNode?.avAudioNode.auAudioUnit else { return }

            if renderObserverToken == nil {
                renderObserverToken = auAudioUnit.token(byAddingRenderObserver: observer)
            }

    }

    /// Sequence on this track
    public var sequence = NoteEventSequence() { didSet { updateSequence() } }

    /// Remove the notes in the track
    public func clear() {
