Visibility is missing. I guess `protected` is ok.