Try version 2!
Total separation of physical simulation, PID algorithm and GUI. The setup is intended to realistically mimic a physical body with a specific heat capacity, a measurement delay, and an input delay + low pass filter (heater delay) for more realism.
This is a simple PID simulator I wrote in .NET, created to get a feel of how to tune a PID by adjusting the various properties.