Причем тут пустота?
Дефолтные значения как раз и призваны, чтобы не было никаких "пустот".
Вы создаете объект с цветом по умолчанию, каким он будет, 0х000000 или 0х01ad45fe - это уж ваше дело. Если пользователь задавал цвет, отличный от дефлотного, то вы это увидите. Если важен именно сам факт изменеия, то в сеттере можно записывать предыдущие колоры в массив, к примеру, для отката, или эвент диспатчить или еще что-то.. помнится в АС была чудная фича Object.watch(), кажется..
Мне не понятно ваше стремление к пустоте
