Про декораторы. Это такая штука которая добавляет новые методы/функции в существующий класс. В случае этого примера мы декорируем класс несколькими декораторами.
Сегодня я возможно нашел причину позникновения segfault(-a). Наверное причина в том что в нескольких декораторах удаления не проверяется использование связи(HasUsages).
Итоговый вывод: Фасад дает конечный класс после всех декорации, а decorated дает класс с декораторами до текущего слоя/класса(в случае первого декоратора/слоя/класса дает base класс)