<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compensate_system_time_change(self, difference):
 # pragma: no cover, # not with unit tests """If a system time change occurs we have to update properties time related to reflect change :param difference: difference between new time and old time :type difference: :return: None """

        # We only need to change some value
        for prop in ('last_notification', 'last_state_change', 'last_hard_state_change'):
            val = getattr(self, prop)  # current value
            # Do not go below 1970 :)
            val = max(0, val + difference)  # diff may be negative
            setattr(self, prop, val)