The main.func.file module will provide extension point with FileIconProvider interface.
FileIconProvider will have a method - getIcon():Icon
Predefining FileView and setting it to the FileChooserDialog is what java provides for changing the icons.
SophieFileView is the implementation of FileView for Sophie - the getIcon() method will be overriden to define what icons different files will have. What icons different file will have will be defined according to what their file extension is.
For each file extension different class will be created that will implement FileIconPrivider.
FileIcon will be the base class for all classes that will provide icons for different files. What is more, this class will have property for the icon that will be skinnable.