Added icons, using them
Refactoring initialize function in order to pass a factory instead of a lot of dictionaries.