         }
     }
     
+    public func setString(object:String?, key:String) {
+        if let stringToSet:String = object {
+            self.userDefaults.setObject(stringToSet as NSString, forKey: key)
+            self.userDefaults.synchronize()
+        }
+        else {
+            self.remove(key)
+        }
+    }
+    
     public func preference(key:String) -> AnyObject? {
         return self.userDefaults.objectForKey(key)
     }

    
    public init() {
        
    }
    
    public func get(key:String, defaultValue:T) -> T {

        }
        return defaultValue
    }
    
    public func stringValue(key:String, defaultValue:String?) -> String? {
        if let result = self.userDefaults.objectForKey(key) as? String {
            return result
        }
        return defaultValue
    }
        
    public func remove(key:String) {
        self.userDefaults.removeObjectForKey(key)
