It seems that `waiters` variable is not used and `done` function can be safely removed.