For an explanation: The ‘selectedStringValue’ is (probably) changing on your component more than once because there’s an initial set of the value as the component is created, then another as the last saved value in the designer is applied, and then a third when any binding(s) that affect the component are evaluated. The componentRunning
flag is only set when all of those things have been completed.