private -> protected handleEvents