Docblock please :-) also, I think it's confusing how this function doesn't do what it says - could we pull out the call_user_func to the callee, or rename the function to registerChangeCallbackAndCall?