refactor
more refactor
refactor and add background color change observer
little refactor
Merge branch 'refactor'
removed redundant category method