Convert core GUI to OOP