Changed visible property to readonly - considering it is determined from -isHidden