Abstracted out the heater into it's own class, with threaded cycle