HuiSheng, I examined the patch and all looks good to me. As for the script activities, I don't see why they need to call ScriptManager directly, they might as well call Expression.create and let that method instantiate the correct expression class according to the language. Did I miss something?
In my opinion, Because the name of Script****Activity contains 'Script', so it should use ScriptManager. Somewhere we need el could use Expression. I think the difference between the Script and Expression is Expression has to write in one line, Script could contain mutiply lines.
And you are right. At this time, Expression.create() could provide multiple scripts supporting. I will make another patch for that. Thank you for reviewing.