def __init__(self, temperature=None, duration=None, start=True):
        self.state = self.STATE_SETUP
        self.sensor = W1ThermSensor()
        self.end_time = None

        self._setup_gpio()
        self._set_target_temperature(temperature)
        self._set_duration(duration)
        self.display_initial_info()

        if start:
            self.start()