I added Icon support to the type enum, so I would rather stay with that. Going for subclasses wouldn't do away with the type, either, unless you would want to use instanceof to detect the actual type.