Emit events instead of overriding functions.