Для нормальной реализации ИУ мне в моем случае потребуется что-то такое:
внутри класса1: ^имя_созданного_последним_наследника_класса3.method_known[]
Класс1 - библиотечный, класс2 - название последнего наследника, от имени которого и идет управление. Экземпляр класса1 сделать нельзя, т.к. это уникальный обсервер.