ReactiveEvents
type ReactiveEvents<Events extends Record<string, any>>= { [ key in keyof Events as `on"${Capitalize<string & key>}` ] : ((effect: ((...args: ReactiveEventParameters<Events, key & string>) => void), deps: readonly any[]) => void) }
type ReactiveEvents<Events extends Record<string, any>>= { [ key in keyof Events as `on"${Capitalize<string & key>}` ] : ((effect: ((...args: ReactiveEventParameters<Events, key & string>) => void), deps: readonly any[]) => void) }