Optimizations & move listener to GameListener.java