Task::schedule(): Same code, easier to follow.
Task::cleanup: What if the task is scheduled?

Really unschedule it. We can't do that by simply calling
remove_from_scheduled_list(); what if it's on someone
else's list? I think.