Factored out ButtonRow and other stuff, grand cleanup (prettier!)