add runtime check for events that accept NSDictionary<NSString*,id> * to ensure sender did not send complex type as value
The id
indicates the sender can provide any type, but we want to make sure (runtime at least) that this is never a complex type (only primitives allowed)