Added facade design pattern, and moved around a couple of classes so they can be logicaly separated. Mostly UI classes.