What keeps the program (logic) in controllers remain there when there is a loss of power ? How is it taken care of by different vendors? Please share your experience.