Overhaul GUI to be more consistent and clean up some code.