         }
     }
     
+    /// Tells whether the node is processing (ie. started, playing, or active)
+    public var isStarted = true
+    
+    /// Tells whether the node is processing (ie. started, playing, or active)
+    public var isPlaying: Bool {
+        return isStarted
+    }
+    
+    /// Tells whether the node is not processing (ie. stopped or bypassed)
+    public var isStopped: Bool {
+        return !isStarted
+    }
+    
+    /// Tells whether the node is not processing (ie. stopped or bypassed)
+    public var isBypassed: Bool {
+        return !isStarted
+    }
+    
     /// Initialize the delay node 
     ///
     /// - parameter input: Input audio AKNode to process

        lowPassCutoff: Double = 15000,
        dryWetMix: Double = 50) {
            
            self.time = NSTimeInterval(Double(time))
            self.feedback = feedback
            self.lowPassCutoff = lowPassCutoff

            delayAU.lowPassCutoff = Float(lowPassCutoff)
            delayAU.wetDryMix = Float(dryWetMix)
    }
    
    /// Function to start, play, or activate the node, all do the same thing
    public func start() {
        if isStopped {
            self.avAudioNode = delayAU
            isStarted = true
        }
    }
    
    /// Function to start, play, or activate the node, all do the same thing
    public func play() {
        start()
    }
    
    /// Function to stop or bypass the node, both are equivalent
    public func stop() {
        if isPlaying {
            self.avAudioNode = self.input!.avAudioNode
            isStarted = false
        }
    }
    
    /// Function to stop or bypass the node, both are equivalent
    public func bypass() {
        stop()
    }
}
