Make record return type immutable and behind interface. Also use strong types for IPAddress/HostName