A comment in core.js reads 'load body scripts before initialization'...
Due to the way loadScriptContent has to be implemented (to circumvent IE issues) this doesn't always hold true.
So, a call to taperstry.widget.synchronizeWidgetState (in an initialization script) can sometimes get executed BEFORE a
dojo.require('tapestry.widget.Widget') (typically in body scripts) resulting in
Perhaps somehow block until all body scripts get processed?