I can make it protected but I don't really understand this "everything is protected" if there is a defined interface that superclasses can use