 		}
 	}
 
-	public struct Key {
-		static let authorID = "authorID"
-		static let name = "name"
-		static let url = "url"
-		static let avatarURL = "avatarURL"
-		static let emailAddress = "emailAddress"
-	}
-
-	public init?(dictionary: [String: Any]) {
-
-		self.init(authorID: dictionary[Key.authorID] as? String, name: dictionary[Key.name] as? String, url: dictionary[Key.url] as? String, avatarURL: dictionary[Key.avatarURL] as? String, emailAddress: dictionary[Key.emailAddress] as? String)
-	}
-
-	public var dictionary: [String: Any] {
-
-		var d = [String: Any]()
-
-		d[Key.authorID] = authorID
-
-		if let name = name {
-			d[Key.name] = name
-		}
-		if let url = url {
-			d[Key.url] = url
-		}
-		if let avatarURL = avatarURL {
-			d[Key.avatarURL] = avatarURL
-		}
-		if let emailAddress = emailAddress {
-			d[Key.emailAddress] = emailAddress
-		}
-
-		return d
-	}
-
 	public static func authorsWithJSON(_ jsonString: String) -> Set<Author>? {
 		// This is JSON stored in the database, not the JSON Feed version of an author.
 		guard let data = jsonString.data(using: .utf8) else {

	public let emailAddress: String?
	
	public init?(authorID: String?, name: String?, url: String?, avatarURL: String?, emailAddress: String?) {

		if name == nil && url == nil && emailAddress == nil {
			return nil
		}

		}
		return nil
	}
}

extension Set where Element == Author {

	public func json() -> String? {
		let encoder = JSONEncoder()
