That's sort of close.
Anything that causes drawing or fetching initializes a widget. For example, using addMember() to add a widget to a Layout that is drawn immediately draws the widget.
This is not really related to properties that can only be set before draw/initialization. It's just a senseless order of calls. To make an analogy, if you are using a library that makes network calls, you can't tell it to connect before you give it the target address.
No call should force early initialisation / initialization
Initialisation is done via fetchData() or draw().
Initialisation is done via fetchData() or draw().
Some other calls (e.g. the set*State calls) depend on setFields() and therefore must come after setFields().
Comment