I think we can just pass in the callback directly. If it is null or undefined, it won't get called (makeRequest checks for that). If it isn't a function, why are we passing it in as a callback? In any case, it will get called with the parameter r.