Finish conversion to event-driven GUI