Creates the GUI and orchestrates the flow of the program