self.value assignment now calls the method