     ///
     /// - Parameter key: The key.
     public func clear<ValueType>(_ key: Key<ValueType>) {
-        self.userDefaults.set(nil, forKey: key._key)
-        self.userDefaults.synchronize()
+        userDefaults.set(nil, forKey: key._key)
+        userDefaults.synchronize()
     }
     
     /// Checks if there is a value associated with the specified key.

    /// - Returns: A `ValueType` or nil if the key was not found.
    public func get<ValueType>(for key: Key<ValueType>) -> ValueType? {
        if isSwiftCodableType(ValueType.self) || isFoundationCodableType(ValueType.self) {
            return self.userDefaults.value(forKey: key._key) as? ValueType
        }
        
        guard let data = self.userDefaults.data(forKey: key._key) else {
            return nil
        }
        

public final class Key<ValueType: Codable> {
    fileprivate let _key: String
    public init(_ key: String) {
        _key = key
    }
}

