this should be private, and set implicitly within every setter method.