events: add type checks to once

Also cleanup unnecessary use of "self".