Reworked the way the callback classes are defined

We now simply pass the parameters for the callbacks through initializer lists
to the BaseCallback constructor.