Разделение расчетной части и GUI

Иерархия не соблюдается. Сторонние модули находятся во вне проекта, хотя их следует завести во внутрь проекта (добавил зависимости в 3rdparty папку для примера). Немного стиля. Немного инкапсуляции. Всего понемногу. Но основное - это разделение и уход от графической зависимости.