Потому что там можно файл указывать, в котором лежит класс расширения, тогда можно так сделать, что основной класс имеет абстрактные методы, есть какой-то, который его реализует, но он используется в расширении для основного класса, я не нашел метода сделать это так, чтобы не получился циклический импорт