много чего поправил,но закрались сомнения по третьему пункту и самому паттерну
Переделал полностью компоновщик,работать по идее будет чуть медленнее ,но зато точно компоновщик