Can't use ES6 Map unless we know touches won't be stale