Sounds reminiscent of the MVC design pattern, in which the data/logic is separated away from the actual GUI (if you are unfamiliar with this pattern, I encourage you to look it up to study). I'm not...