Refactored Badge

pulled all the badge manipulation on button into methods so that I can
cleanly change it for an object.