         set {
             swiftyTeethLogger = newValue
         }
+    }
+}
+
+// MARK: - Manager Utility functions
+public extension SwiftyTeeth {
+    func retrievePeripherals(withIdentifiers uuids: [UUID]) -> [Device] {
+        let cbPeripherals = centralManager.retrievePeripherals(withIdentifiers: uuids)
+        return cbPeripherals.map { Device(manager: self, peripheral: $0) }
     }
 }
 

    }
    
    // TODO: Hold a private set, and expose a list?
    open var scannedDevices = Set<Device>()
    
    // TODO: Should be a list? Can connect to > 1 device
    fileprivate var connectedDevices = [String:Device]()

    
    // TODO: Need iOS 9 support
//    open var state: CBManagerState {
//        return centralManager.state
//    }

    open var isScanning: Bool {
        return centralManager.isScanning
    }
    
    public override init() {
    }

            stateChangedHandler?(state)
        }
    }

    public lazy var centralManager: CBCentralManager = {
        let instance = CBCentralManager(
            delegate: self,
            queue: DispatchQueue(label: "com.robotpajamas.SwiftyTeeth"))
        return instance
    }()

