improve events to use symbols