Added a Button and ButtonManager class to reduce duplicate code.