Refactor GUI to split objects up