Switch to helper primitives instead of events handlers