add wrappers for UserChangeEvent, ChannelChangeEvent, PermissionDeniedEvent