Legend:
Library
Module
Module type
Parameter
Class
Class type
Social: keeps a register "nick -> informations" up-to-date. The type contact can be extended to store new informations.
One must then extend the function contacts_of_json and json_of_contact to handle the new fields (and deal with the case where we import old JSON values that don't have the new fields, e.g. by using a default value).
The data stored in the contacts base are usually automatically updated by callbacks defined in Social (thanks to Signal.on).