All Midrub's apps, components and themes have hooks support which could be used to add new features. The hooks support allows to extended the number of features of an app, component and theme. For example a theme adds settings with hooks in the administrator panel. Hooks register options in the plans page. The hooks are used even to clear the database. There are a lot of goals to use the hooks.
Each theme, app and component could register new features in another theme, app and component. Both a theme, app or component have a page in the user panel, administrator panel and for public which displays the information which you wish. The page could be useful if you need it, otherwise is a problem if you wish only hooks to extend the features somewhere. For this reason i have invented the plugins, which don't have a page, but still allows to register the hooks.
A plugin in the Midrub CMS is more advanced than a plugin from other CMS. In the Midrub CMS a plugin has by default support for rest requests(which could even created from the plugin), cron job support and ajax requests support.
With a plugin you could add new features with hooks in all apps, themes, components and other plugins.