I'd prefer to use Events to be honest.

I use Events throughout the game. I've tried to stay as far away from pointers as possible. The language is good enough so you don't need to use pointers directly I think. The only real direct use of pointers is in the JediSDL stuff and the software rendering code. I've insulated my work from the pointer depenant code as much as possible.

Now all I need to do is check if the event code is assigned before I call it.