For one of my university projects, I created a node graph editor plugin from scratch that enabled us to easily link different UI screens together. The linking of the screens determines the flow of the UI. I used C# and editor scripting to accomplish this.
When a graph is saved, a C# singleton is generated of that specific graph.
For more information on this project visit: http://robertkn.com/project/nodegraph/