Hi Chris. When I read your post I didn't notice you mentioned "the event procedure must be public". Plus I was annoyed at all the post before that discourage the approach. So, I didn't click that you indeed gave the tip. So the post was answered.
My post, then, makes it a bit clearer how to...