             return
         }
 
-        dispatch_sync(zephyrQueue) {
+        dispatch_sync(zephyrKeyQueue) {
 
             if !self.registeredObservationKeys.contains(key) {
 

            return
        }

        dispatch_sync(zephyrQueue) {

            if let index = self.registeredObservationKeys.indexOf(key) {



    /**

     A queue used to serialize observation keys

     */
    private let zephyrKeyQueue = dispatch_queue_create("com.zephyr.keyQueue", DISPATCH_QUEUE_SERIAL);

    /**

     A queue used to serialize synchronization of monitored keys

     */
    private let zephyrSyncQueue = dispatch_queue_create("com.zephyr.syncQueue", DISPATCH_QUEUE_SERIAL);


    /**
