because the start with "set"
if a sub starts with set and receives a single parameter it will be converted to a field. say
setIcon
would be
icon =
I think you can circunvent the IDE with upper case S.
BTW it is the same for get, if you do not write the get then the field will be write only if you do write the get but not the set it will be a read only