aweful, introduce a parent (e.g. IconComponent) and extend it