Bunch of refactoring around the Appearance class