'invoke' is a protected function