Продумана начальная иерархия классов.

Основной класс Project., он содержит списки условий циклов и блоков
кода.  Класс родитель блок кода, от него наследуется блок условий,
свойства которого наследую блоки циклов.