     }
     
     private func enqueueReadRSSI(_ operation: Operation.ReadRSSI, for peripheral: Peripheral) {
-        let context = self.continuation.peripherals[peripheral] ?? PeripheralContinuationContext(self)
+        let context = continuation(for: peripheral)
         context.readRSSI.push(operation)
     }
     
     private func dequeueReadRSSI(for peripheral: Peripheral, _ body: (Operation.ReadRSSI) -> ()) {
-        guard let context = self.central.continuation.peripherals[peripheral] else {
+        guard let context = self.continuation.peripherals[peripheral] else {
             assertionFailure("Missing context")
             return
         }
-        context.readRSSi.pop(body)
+        context.readRSSI.pop(body)
     }
     
     private func write(

                continuation.resume(returning: data)
            }
            self.central.continuation.readDescriptor[descriptor] = nil
        }
    }
}


        func peripheralIsReady(toSendWriteWithoutResponse peripheralObject: CBPeripheral) {
            
            log("Peripheral \(peripheralObject.gattIdentifier.uuidString) is ready to send write without response")
            let peripheral = Peripheral(peripheralObject)
            guard let context = self.central.continuation.peripherals[peripheral] else {
                assertionFailure("Missing context")
                return
            }
            // possible nothing is waiting
            guard case let .isReadyToWriteWithoutResponse(operation) = context.queue.current else {
                return
            }
            self.central.dequeue(for: peripheral) { _ in
                operation.continuation.resume()
            }
        }
        
