> I'm not sure what you want to do to handle if a prerequisite task can't be found.

Assuming you mean "how to bail out" and not "*should* it bail out?", I think it's probably fine to go with a custom exception class (e.g. `TaskNotFound`; maybe we already have one floating around, I forget) and leave it at that.

> I feel that a task should be self aware of it's overarching collection

Generally, I agree, but once namespacing is in -- which should be ASAP IMO -- the concept of exactly which collection a task "belongs to" may be kind of nebulous (in the sense that a requirement for that feature is re-binding tasks into other parts of the namespace). There's a longer discussion to be had there that we can probably tackle when implementing that feature tho.