зачем все это наследование?
и в чем вообще идея?
в том, чтобы ты просто наследовал класс и больше ничего не делал для создания обработчика лисенеров. чтобы вручную не создавать методы регистр\анрегистр, и не создавать поле для хранения лисенера. а при каждом нотифае не писать целый цикл, а просто вызвать один метод