>do not use function pointers
Don't you need those for events and monitoring?