Commands can be defined by creating an enumerations.
Commands can be customized by adding attributes to assign title, tooltip, icon etc.
Commands can be grouped under sub menus. Simply specify the image (transparency is supported) and framework will create required bitmaps compatible with SOLIDWORKS. No need to assign gray background to enable transparency, no need to scale images to fit the required sizes - simply use any image and framework will do the rest.
User can handle the commands clicks and assign the custom state for command buttons.
Multiple command groups can be inserted within the same add-in.
Use resources to localize the add-in.