 	}
 	
 	deinit {
-		if observingVolumeChanges {
-			AVAudioSession.sharedInstance().removeObserver(self, forKeyPath: "outputVolume")
-			NotificationCenter.default.removeObserver(self)
-		}
-	}
-	
-	// MARK: - Automatic Presentation
-	
+		self.removeVolumeBarObservers()
+	}
+}
+
+// MARK: - Automatic Presentation
+
+extension VolumeBar {
+    
 	/// Start observing changes in volume.
 	///
 	/// Once this method is called, the `VolumeBar` will automatically show when volume buttons

			}
		}
	}
	
	// MARK: - Observer callbacks
	
	/// Observe changes in volume.
	///
	/// This method is called when the user presses either of the volume buttons.

			print("VolumeBar: Initializing audio session failed.")
		}
		
        self.addVolumeBarObservers()
	}
	
	/// Stop observing changes in volume.
