making your state public or protected is not the problem, its doing it with a field. If you made all of these protected properties I wouldnt have an issue.