add dispose listener. changed the variables that run in GameScreenUI
that run on different threads to be static, so I can dispose them in the
dispose listener