Another key component of the asyncio module is the asyncio.Future class. It is very similar to concurrent.Futures, but, of course, it is adapted to the main mechanism of asyncio: the event loop.
The asyncio.Future class represents a result (but can also be an exception) that is not yet available.
Hence, it represents an abstraction of something that is yet to be achieved. The callbacks that have to process any results are, in fact, added to instances of this class.