Updated GUI files (refactoring code) - untested.
Refactored Button objects and added some template classes.