Дело в том, что один класс унаследованный от HFModule может у класса HFApp запрашивать указатель на другой класс, так же унаследованный от HFModule, но представляющий другую .dll
Но если я их скрываю, то умирают плагины внутри HFModule, потому что после занесения методов Add/Get Plugin в протектед поле, плагины не могут теперь у своего же класса родительского (модуля) запросить другие плагины из того же родительского модуля
Проблема в том, что плагины наследуются от HFPlugin, я пытался сделать HFPlugin класс дружественным по отношению к HFModule, но он говорит что его друг HFPlugin, а не унаследованные от него классы