The problem is attaching the temperature to the mechanism. There was no engine-supported way to do that, so it involved a script that monitors temperature. And then to actually change the efficiency... so the entity has an "energy_source" object, and if memory serves, the burner type of this object has a bonus attribute that doesn't exist for the heat type, so the potential solution was to actually create each stage of increased efficiency and have a script swap them out. Pretty convoluted. I'll take another look at what the options are, though.