Moved most functionalities unrelated to being a button from button to diagram; currently, Diagram.Draw() leads to a segfault, so using a workaround. Seems to be fully functional, however.