Major work to UI and input handling.