         try socket.fileDescriptor.setSocketOption(socketOption)
     }
     
-    public func securityLevel() throws -> SecurityLevel {
-        let socketOption = try socket.fileDescriptor.getSocketOption(BluetoothSocketOption.Security.self)
-        return socketOption.level
+    public var securityLevel: SecurityLevel {
+        get throws {
+            let socketOption = try socket.fileDescriptor.getSocketOption(BluetoothSocketOption.Security.self)
+            return socketOption.level
+        }
     }
     
     /// Attempt to get L2CAP socket options.
-    public func getSocketOptions() throws -> L2CAPSocketOption.Options {
-        return try socket.fileDescriptor.getSocketOption(L2CAPSocketOption.Options.self)
+    public var options: L2CAPSocketOption.Options {
+        get throws {
+            return try socket.fileDescriptor.getSocketOption(L2CAPSocketOption.Options.self)
+        }
     }
 }
 

        try await fileDescriptor.closeIfThrows {
            try await fileDescriptor.connect(to: destinationSocketAddress, sleep: 10_000_000)
        }
        return L2CAPSocket(
            fileDescriptor: fileDescriptor,
            address: localSocketAddress
        )

        backlog: Int = 10
    ) async throws -> L2CAPSocket {
        let address = try await hostController.readDeviceAddress()
        return try await lowEnergyServer(
            address: address,
            isRandom: isRandom,
            backlog: backlog
