I've studied functional languages in school, and I find it quite a pleasant logical exercise to use them.
By callbacks, I take it you mean function pointers. Is this "appropriate" C++ style? I suppose if it's used in the STL it must be OK. I only ask, because the syntax looks very C-like, which...