Interestingly, I am now researching in state- oriented- programming. https://docs.google.com/drawings/pub?id=1sh6D3ZZn_C9beAEpp0ccZLkJ5LnimxeqWuP... Workflows are best visualized by 'workflow diagrams' as shown by the above linked image. And that diagram corresponds to the following JSON structure: 'article workflow': { 'entry': //reserved name { 'user edits article', }, 'newly edited': { action: { 'request approval from administrators' }, event: { // event : to 'approval received' : 'approved edit' } }, 'approved edit': { action: { 'update articles for public access' }, event: { 'article updated' : 'exit' } } } JSON is an easy to read structure so it is good for the server program to 'run' a workflow. (XML is also okay as it is easy to convert between XML and JSON.) It is also good for implementing a GUI for workflow editing. Plus, JSON is easy to read with a GUI. Just some speculations, we should formalize the whole thing before any work.