./282 : tu parles à la fois de fournir une API et d'attendre sur un "Wait()" donc je pense qu'on ne se comprend pas. Il est question ici de *fournir* une API, et donc soit de demander une callback, soit d'exposer un évènement, soit de retourner une Task (qui joue ici le rôle qu'on appelle "future" ou "deferred" dans d'autres langages, sachant que Task est un truc hybride qui fait à la fois future et promesse entre d'autres trucs). Ce ne sont que plusieurs implémentations possibles pour la même chose, il n'y a strictement aucune différence au niveau de l'exécution. En revanche, proposer un seul objet est confus : si on me retourne une task pour faire ce que j'aurais voulu faire avec d'autres frameworks en retournant une future, je donne à mon client un objet sur lequel il peut par exemple appeler "Start()", ce qui est probablement une erreur vu que l'API a déjà démarré cette task, à moins que non, aucun moyen de savoir (enfin si, avec les 300 propriétés à ma disposition il y en a surement une qui permet de savoir ça, mais c'est vraiment la dernière chose que j'ai envie de faire).