Why did `setFontSize` need to be `virtual`?