Touch events shouldn't be this difficult to figure out