converted to common eventing registration and callback