Как лучше всего отделить логику программы от кода GUI?
Я хотел другой код GUI (GTK, KDE, CLI), используя ту же логику программы.
Я думал о том, чтобы использовать другой модуль Python (winecellar-common, winecellar-gtk, winecellar-cli), не уверен, как бы я это сделал и если это лучший способ.
* EDITED *
Просто чтобы добавить к моему вопросу, как лучше организовать структуру файлов проектов и построить платформу с различными модулями. Имейте в виду, что он в основном используется в Ubuntu.