code: function toDot() {
              var dotGraph = [];
              dotGraph.push("digraph " + this.name + " {");
  
              this.children.forEach(function (step) {
                  dotGraph.push(step.name);
                  step.dependencies.forEach(function (dependencyName) {
                      dotGraph.push(dependencyName + " -> " + step.name);
                  });
              });
  
              dotGraph.push("}");
  
              console.debug("Put this in a file and run this in a terminal: dot -Tsvg yourDotFile > graph.svg");
              return dotGraph.join("\n");
          }
docs: This is a utility method to introspect a flow. flow use case is for when a complex sequence
  needs to be solved and its very hard to solve it by simpler programming constructs, so mapping
  this sequences is hard, this method dumps the flow into a dot directed graph to be visualized.
  @property toDot <public> [Function]
  @return string The actual dot string that represents this flow graph.