pointer-events: refactoring & tests