The module will store all the icons file data and information by utilizing existing Drupal database table to ensure the performance is not hindered by adding an icon to a menu item.

The file information is stored in Drupal standard file_usage table and file_managed tables. while the menu item will store the icon file information and its styling information in the Drupal menu_links table as serialized array.

This way all menu icon information will be cached by Drupal as it would be for a normal menu item entry, thus no additional database hit will be used to load the menu data.

The Configuration page is attached to Drupal original menu edit configuration form and utilizes AJAX for better user experience.