If there's only one choice of Callback, don't make it a template argument. Why would anybody want to provide something other than 1?