start decoupling ui from game logic