I am using the WhitePaper-recommended approach to 'waiting-fors' -- create a task that includes the contact and the date, then assign it a category of @waitingFor. I can look at my @waitingFor list first thing every morning, follow up on what needs it, ignore what doesn't -- very very nice.
If you delegate a little project, and if you want to follow it up, that single @waitingFor starts to have a lot of entries and history, and the title keeps changing to reflect the last time you made contact.
Often, communication re: that @waitingFor is by email. Where should I keep it? It doesn't take long to realize that storing a series of emails in the bigger project directory, of which the little project is a part, is not wonderfully efficient.