         return UIApplication.shared.isRegisteredForRemoteNotifications
     }
     
-    open class func push(_ types: UIUserNotificationType = [.alert, .badge, .sound], closure: @escaping AuthClosure) {
+    open class func push(types: UIUserNotificationType = [.alert, .badge, .sound], closure: @escaping AuthClosure) {
         onMain {
             hasPushClosures.append(closure)
             guard !isHasingPush else { return }

        return status == .authorizedAlways || (!background && status == .authorizedWhenInUse)
    }
    
    open class func location(_ background: Bool = false, manager defaultManager: CLLocationManager? = nil, closure: @escaping AuthStatusClosure<CLAuthorizationStatus>) {
        onMain {
            hasLocationClosures.append(closure)
            guard !isHasingLocation else { return }

        return captureAuthorizationStatus(for: type) == .authorized
    }
    
    open class func capture(type: AVMediaType = .video, closure: @escaping AuthStatusClosure<AVAuthorizationStatus>) {
        onMain {
            hasCaptureClosures[type, default: []].append(closure)
            guard !isHasingCapture[type, default: false] else { return }
