             self.restoreIdentifier = restoreIdentifier
         }
         
-        internal var optionsDictionary: [String: Any] {
+        internal var dictionary: [String: Any] {
             var options = [String: Any](minimumCapacity: 2)
             if showPowerAlert {
                 options[CBCentralManagerOptionShowPowerAlertKey] = showPowerAlert as NSNumber

    }
    
    func execute(_ operation: Operation.DiscoverDescriptors) -> Bool {
        fatalError()
    }
    
    func execute(_ operation: Operation.ReadDescriptor) -> Bool {
        fatalError()
    }
    
    func execute(_ operation: Operation.WriteDescriptor) -> Bool {
        fatalError()
    }
    

        with services: Set<BluetoothUUID>,
        filterDuplicates: Bool = true
    ) -> AsyncThrowingStream<ScanData<Peripheral, Advertisement>, Error> {
        return AsyncThrowingStream(ScanData<Peripheral, Advertisement>.self, bufferingPolicy: .bufferingNewest(100)) {  [weak self] continuation in
            guard let self = self else { return }
            self.async {
                let operations = Operation.Scan(
                    services: services,
                    filterDuplicates: filterDuplicates,
                    continuation: continuation
                )
                self.continuation.scan.push(operations)
            }
        }
    }
    
    public func stopScan() async {
        return await withCheckedContinuation { [weak self] continuation in
            guard let self = self else { return }
            self.async {
                guard let _ = self.continuation.scan.current else {
                    continuation.resume() // not currently scanning
                    return
                }
                self.continuation.scan.pop { operation in
                    self.centralManager.stopScan()
                    self.continuation.isScanning.yield(false)
                    self.log("Discovered \(self.cache.peripherals.count) peripherals")
                    operation.continuation.finish(throwing: nil) // end stream
                    continuation.resume()
                }
            }
        }
    }
