Не переисбыточно ли это для хранениев цвета, есди есть global?
вы закладываете понятный и документированный подход к управлению стилями и цветами в вашем приложении. Хранить в глобал ок, если вы делаете свой проект, а вот если вы делаете проект заказчику, то нужно либо описывать вашу логику и документировать или использовать проверенные решения.
Кроме того, вашу переменную в global можно перетереть в любом углу вашего приложения, так как она не иммутабельная и в перспективе вы получите баг, где кто-то сделает global.color=другойцвет, и все ваши стили слетят.
По идее вам нужно завести цвета в формате
buttonBgDefault
buttonTextColor
И далее уже их использовать, так вы сможете указать контекст использования переменной с цветом и предотвратить геморрой в будущем.