Implemented the Button widget.