delegating the task of registering callbacks