Split game and UI logic into separate files; replaced UserList