     }
 
     /// Remove given observers.
-    open func removeObserver<T: AnyObject>(_ owner: T) where T: Equatable {
+    open func remove<T: AnyObject>(_ owner: T) where T: Equatable {
         if let existingObserverIndex = observers.index(where: { $0 == owner }) {
             observers.remove(at: existingObserverIndex)
         }
     }
 
     /// Remove all observers.
-    open func removeObservers() {
+    open func removeAll() {
         observers.removeAll(keepingCapacity: false)
     }
 

    /// Invokes each registered observer.
    open func notify() {
        flatten()
        guard !suppressNotifications else { return }
        observers.forEach { $0.handler?() }
    }
}


    // MARK: Notify API

    /// A boolean value to determine whether the notifications should be sent.
    /// This flag is checked before firing any notification calls to the registered
    /// observers. The default value is `true`.
    open var isNotificationEnabled = true

    /// Invokes each registered observer if `oldValue` is different than `newValue`.
    open func notifyIfNeeded<T: Equatable>(_ oldValue: T, newValue: T) {
