I am currently restructuring my plugin architecture for plugins that are displayed on toolbars and menus (this is a small portion of the plugins). The idea is to have plugins buttons that can be moved to different locations through a config file and not hard coded into the application file.
Previously, the only plugins that worked this way were widget plugins (using Qt). I have implemented a structure that allows for plugins that execute a task also (i.e. reset). I was wondering if adding save, open and new to this plugin structure would be a good idea because this would allow the user to configure all the toolbars and menu, but the application would depend on the plugin to perform tasks like change the title. If an auto-save functionality were to be implemented then the auto-save would depend on a plugin.
My thought was to create an object within application that would do all the file tasks and have an API like structure that the plugins could call to change the title or open a new or existing scenario.