In a few of the characteristic events we are relying on only the peripheral and characteristic ids to match the request promise. This is probably fine in almost all cases, but to be 100% correct the event key lookup should include the service id.
There may be more than one place to fix so would require auditing the entire app, but the starting place would be ChracteristicEvent.swift.