refactor color and animations into their own modules