         let newDevice  = aNotification.object as! DRDevice
         let deviceInfo = newDevice.info()
         
-        let supportLevel = deviceInfo?[DRDeviceSupportLevelKey] as! NSString
-        let interconnect = deviceInfo?[DRDevicePhysicalInterconnectLocationKey]
-                                                                    as! NSString
-        
-        if (interconnect as String == DRDevicePhysicalInterconnectLocationInternal &&
-            supportLevel as String == DRDeviceSupportLevelAppleShipping) {
+        let supportLevel = deviceInfo?[DRDeviceSupportLevelKey] as! String
+        let interconnect =
+            deviceInfo?[DRDevicePhysicalInterconnectLocationKey] as! String
+        
+        if interconnect == DRDevicePhysicalInterconnectLocationInternal &&
+           supportLevel == DRDeviceSupportLevelAppleShipping {
             // The supposition here is that the SMC will only know about
             // internal Apple "made" ODD, and not a 3rd party one that someone
             // swapped in

        // To get the ODD object, need to reg for notification and wait. Since,
        // were looking for an internel device, should be instant.
        // See deviceAppeared() helper.
        DRNotificationCenter.currentRunLoop().addObserver(self,
                                             selector: #selector(SMCKitTests.deviceAppeared(_:)),
                                             name: NSNotification.Name.DRDeviceAppeared.rawValue,
                                             object: nil)
        
        // TODO: sleep here just incase for notification to be sent?

        
        // TODO: Ignoring the Mac Pro case for now, with 2 drives
        if internalODD.count == 1 {
            let ODDStatus = internalODD[0].status()[DRDeviceMediaStateKey] as! String
            
            switch ODDStatus {
            case DRDeviceMediaStateMediaPresent:

        let ptr    = UnsafeMutablePointer<io_name_t>.allocate(capacity: 1)
        let result = sysctl(&mib, u_int(mib.count), ptr, &size, nil, 0)

        if result == 0 {
            let cString =
                UnsafeRawPointer(ptr).assumingMemoryBound(to: CChar.self)
            name = String(cString: cString)
        }

        ptr.deallocate(capacity: 1)

