Если в классе авто подразумевается объект двигателя, то этот класс его и создает, если объект двигателя принадлежит классу авто.
Иначе, получается, что чтобы создать объект авто, ты должен обратиться к объекту завод, чтоб он создал объект двигателя в объекте авто.
Даже если предположим, что имеется фабрика для классов авто, объекты которых создает именно завод, то в любом случае, если объект двигателя находится в классе авто, его должен создавать класс авто, а не завод.
Стили у версий сборок винды не отличаются. Отличается стиль у мажорных версий. WinXP, WinVista, Win7, Win10. У него же применён стиль базовый. Т.к. приложение не несёт внутри манифест