jayderyu
The "(official) function" could be an unit of actions (included conditions), it is a good interface between external text script and C2 events. Worksheet is an example of text script.
My functionext plugin is another one, it could call "(official) function" in javascript. Designer could inject the javascript code into C2, to control the exection flow of events.
In this case, designer does not need to read (or find) a lot of api of each object (plugin), just need to know how to inject javascript function and how to call "(official) function" in these code.