refactor getArrowSrc() logic out of render()
sort matches by id instead of assuming already ordered
use window.setTimeout() in place of setTimeout()
use the new id property for keys
only setState() when match.lastmod changes