будет полезно
Не обязательно делать с помощью интерфейсов, можно использовать обычный класс с виртуальными методами, которые можно будет пере определить не теряя зарание заложеной логики.
У дополнений или плагинов должно быть обобщеное api, то есть методы зарание известны приложению (то что я выше рассказывал).
Например, класс PluginBase, с методами virtual Update, virtual Draw, ты можешь в них заложить свою логику. А вот когда комьюнити или кто-то ещё будет делать свой плагин, он сможет как воспользоваться твоей версией метода, так и пере определить, ну ещё то и то одновременно.