How to properly create handle_info with a list of Task?

Does the GenServer generate the :tick message in this fashion - or does it rely on an external source?

Presumably the GenServer should terminate once all the “items” have terminated.

What impact should it have when one of the tasks fails?

i.e. start_link/3 vs. start/3.

Should the failed “item” be removed from the GenServer's state?