Спасибо. Материалы поизучаем.

Не хочу показаться занудой, но все таки.
Вызов реализации объектов из модуля (Host)Files, когда в программе явно указано использование модуля (System)Files, как минимум напоминает недокументированную возможность ББ.

Вдобавок ломается прозрачная логика работы с модулями ООП (взятая из object-pascal).
Многим программистам это может не понравится.