Added Game trait which abstracts game loop