This is about record relationships. Sub-tasks could be standard app records (solving the current sub-tasks problem of not having all the same features/capabilities), and making it a "sub-task" would just be one type of relationship option. Tons of options for other relationship types... dependencies, blocking (record A has to be completed before record B can proceed), and you could automate things like "when all sub-tasks are resolved." Then the sub-task nesting, drill-downs, etc. would be view options.