callback registration in base class