Good thing JS is getting Maps one of these days. I just realized (post-merge) that this really needs to be a hasOwnProperty check.