Yea, so now the user just needs to know about a task's children, which is specified the same way sections used to be specified. This means that children are by default "sections". Instead of specifying dependencies as an array of ids, you simply set the property "block" to true of the children that should block the parent ("blockParent" might be a better name). Before we needed the two concepts exposed because sections were static and dependencies were dynamically defined during runtime. Now that both can be specified in both runtime and in static configuration, it is simpler that the two concepts are merged as "children", specified in the format of a spec object. Internally there is still a concept of a section and a dependency.