The bitballs application uses an idMap property on the players list to avoid sequentially scanning the list each time you want to get a player by id. This doesn’t actually seem to be the case. The idMap gets regenerated for each call to getById
The expected output for this would be:
getById idMap getById getById
But it is actually:
getById idMap getById idMap getById idMap
How can we create a property that is generated once and is only updated if an observable property it references changes?