Шесть подсистем, больше чем в O3 web framework

Основным посылом для разделения на подсистемы послужило наличие хост-части, встраиваемой части, и менеджера с гуем.
Очевидно, хост-часть может быть заменяемой, а значит её можно будет заменить на уровне подсистемы, например, при использовании параметра /USE или /SHADOW
А ещё очевидно, что гуй менеджера вообще не нужен в вашем приложении, поэтому он должен быть отделяемым.
А потом, когда я реализовал необязательный сервисный компонент JUdir, который использует сущности проекта и пакета, стало понятно, что их тоже надо выделить в отдельную подсистему.
Разделение JUapp и JUstd вроде и необязательно, но оно показывает нам, что app часть кроссплатформенная и ни от чего не зависит, лежит в основе всего, а для std-части, хоть она и кроссплатформеная, нужна реализация хост-части.