IMPORTENT: NOT TESTED

I was bored and couldn't test anything so I made the Button class
abstract and moved everything into their own class type, so its all
cleaned up, except for that fact that I only commented things out incase
y'all didn't want to use this way of doing it.