- Completely rework underlying structure to use directed acyclic graph, instead of trees.
- Change DSL syntax for easier defining of dependencies.
- Simplify Workflow by not storing edges, edges only live inside nodes.
- DRY up graph drawing.