Prevent leaking state across executions

TouchEvent wasn't being re-initialized across executions. This is similar to #2116