Refactor to not hijack setBackgroundColor anymore, instead use a new function setAppearance