Also see http://concrete-editor.org/ (not my project, just linking to something I found cool)
Concrete does tree based editing with projections (a la Intellij Meta/ Simyoni's Intentional) so you can see visual layouts of state machines, etc that are just as editable as the textual ones.