         return UserDefaults.standard
     }
     
-    open func setPreference(_ object:NSSecureCoding?, key:String) {
-        if let objectToSet:NSSecureCoding = object {
+    open func setPreference(_ object:Any?, key:String) {
+        if let objectToSet:Any = object {
             self.userDefaults.set(objectToSet, forKey: key)
             self.userDefaults.synchronize()
         }

        }
    }
    
    open func preference(_ key:String) -> AnyObject? {
        return self.userDefaults.object(forKey: key) as AnyObject?
    }
    
    open func boolValue(_ key:String, defaultValue:Bool) -> Bool {

    }
}

open class Preference<T:Any> {
    
    public init() {
        
