This looks like a very much incomplete replica of the icon creation code in `_create`. For example, if button starts with no icon, then I add an icon, iconPosition also needs to be set. I don't see that around here.

If that's correct, let's try to move the icon creation to its own method and use that here and in `_create`.