move private _handleOnXXXXX() to protected handleOnXXXXX