refactor Callback class.