Split ProgrammingSpace into a GUI class and logic class