 
         if !registeredObservationKeys.contains(key) {
 
-            UserDefaults.standard.addObserver(self, forKeyPath: key, options: .new, context: nil)
+            userDefaults.addObserver(self, forKeyPath: key, options: .new, context: nil)
             registeredObservationKeys.append(key)
 
         }

        zephyrQueue.async {
            if self.registeredObservationKeys.contains(keyPath) {
                if object is UserDefaults {
                    UserDefaults.standard.set(Date(), forKey: self.ZephyrSyncKey)
                }

                self.syncSpecificKeys(keys: [keyPath], dataStore: .local)

    /// - Parameters:
    ///     - keys: If you pass a one or more keys, only those key will be synchronized. If no keys are passed, than all NSUserDefaults will be synchronized with NSUbiquitousKeyValueStore.
    public static func sync(keys: String...) {

        if !keys.isEmpty {
            sync(keys: keys)
            return
