Redesigned the button class so that it uses external Image and Font objects