Why use the hash, rather than using (message.__name__, message_fields_schema) as the key?