Buttons

Turns out emacs has functions and all for defining buttons. :)
Using them correctly fixed the link bug.

I'll also be using them to add functionality soon. 
And I'll be reorganizing this file, but I wanted to keep this PR clean since it was a bugfix.