         )
     }
 
-    func unregisterForNotifications() {
+    private func unregisterForNotifications() {
         NSNotificationCenter.defaultCenter().removeObserver(self)
     }
 


    // MARK: - Properties

    public static let sharedManager = NetworkActivityIndicatorManager()

    public var isEnabled: Bool {
        get {
            lock.lock() ; defer { lock.unlock() }

        }
    }

    /// A closure executed when the network activity indicator visibility changes.
    public var networkActivityIndicatorVisibilityChanged: (Bool -> Void)?

    /// A time interval indicating the minimum duration of networking activity that should occur before the activity 
    /// indicator is displayed. Defaults to `1.0` second.
    public var startDelay: NSTimeInterval = 1.0

    /// A time interval indicating the duration of time that no networking activity should be observed before dismissing
    /// the activity indicator. This allows the activity indicator to be continuously displayed between multiple network
    /// requests. Without this delay, the activity indicator tends to flicker. Defaults to `0.2` seconds.
    public var completionDelay: NSTimeInterval = 0.2

    private var activityIndicatorState: ActivityIndicatorState = .NotActive {
