Проблема в том, что конструктор классов не до конца делает связи, почему?
По логике он же должен от 2-х классов ссылаться на IDetail, но не делает этого, а просто подписывает сверху его. Как исправить?
Классы не ссылаются и не наследуют интерфейс, они его реализуют, по-этому около каждого класса у Вас указана реализация.
Если хотите связи, то вместо интерфейса создайте абстрактный класс.