var UI_PLAYERS = {}; function uiCreatePlayer(player) { var dom = dCreate("li") ,playerName = dCreate("span"); playerName.textContent = player.name; dom.appendChild(playerName); dom.score = dCreate("span"); dom.appendChild(dom.score); dom.style.color = player.color; return dom; } function onPlayersUpdated() { var container; for (var i in GRID.players) { var uiPlayer = UI_PLAYERS[i]; if (!uiPlayer) { uiPlayer = UI_PLAYERS[i] = uiCreatePlayer(GRID.players[i]); if (!container) container = dGet(R.id.scoreboard); container.appendChild(uiPlayer); } uiPlayer.score.textContent = GRID.players[i].score; } //TODO resort }