Abstracted out the temp controller so it can be faked.