Replaced "after" kwarg with "depends_on".
Reverse dependency mapping should be a set instead of a list.
Terminology change: waitlist -> dependents.