Moved some code to abstract game controller