         self.plistPath = plistPath
         guard let localHardwareDetail = loadHardwareDetailFromUserDefaultsIfLatest() else {
             let allDevices = loadAllDeviceDictionaryFromPlist()
-            Self.hardwareDetail = allDevices[Self._hardwareString] as? [String: Any]
+            hardwareDetail = allDevices[_hardwareString] as? [String: Any]
             saveHardwareDetailToUserDefaults()
             return
         }
-        Self.hardwareDetail = localHardwareDetail
-    }
-
-    public var hardwareString: String { Self._hardwareString }
+        hardwareDetail = localHardwareDetail
+    }
+
+    public var hardwareString: String { _hardwareString }
 
     public var platform: Platform {
         let hardware = hardwareString

    }

    public func hardwareDescription() throws -> String {
        if let hardwareDescription = Self.hardwareDetail?["name"] as? String {
            return hardwareDescription
        }



    func saveHardwareDetailToUserDefaults() {
        localStorage.setValue(Self.libraryVersion, forKey: LocalStorageKeys.deviceGuruVersion)
        localStorage.setValue(hardwareDetail, forKey: LocalStorageKeys.hardwareDetail)
    }

    func loadAllDeviceDictionaryFromPlist() -> [String: AnyObject] {
