fix: TaskManager, properly implement the stopping logic: Tasks in asyncio when .cancel()'ed are not immediatelly stopped.
but only a request of cancellation is made. subsequently awaiting the task allows it to raise a cancelledError exception,
do any necessary cleanup (finally block).
chore: removed unused import in lib.
Former-commit-id: 04f294c50b180e3676fd026d9a47732cdf6511a6