Overhaul Button Listeners

The Views themselves will be ActionListeners, but then use application-level listeners to propagate the command to the proper handler.