any kind of control you want. there are spare 'logical pins' (pins with a name and function and relate 1:1 to actual physical chip pins) on the arduino. you can use one of those for a front panel button or buttons. if you start to run out of 'pins' on the cpu, you then move on to using a 'port expander' like the one that is vertically oriented on the pc board, that MCP chip. that takes in 'i2c serial' and puts out 8 bits of controllable i/o lines. you can then use a mix/match of input and output on those pins and then call routines to get and set values to them. if that makes sense..
the software is meant to be editable and there will be many examples that show what routines do what. its then a case of you, the user, doing some light (or heavy) mods to the software, downloading into the device, trying it and going back again until satisfied
that's what I had in mind; not so much any 'final' software but a framework, a set of examples, some canned demo apps (might be called end-user apps) and from there you can take any/all of that and run with it
some things you may change, while the system is installed and running, via menu pages. but major changes in how the thing works would mean you go into the source editor (text editor), move/edit some blocks of text around, add your own stuff if you want, then build/download/test. and if it works, publish it back so others can use it
in terms of the temperature thing, I happened to have a spare lm34 hanging around (..) and also had a spare analog-in port, so it was easy to just use that.
but if I wanted to monitor, say, EACH of the heatsinks (yeah), then you'd need a more software addressable way of getting to each one of them. for that, there is OneWire (heh) and also i2c. i2c chips seems cheap (50cents each). I may try them and see if they work. if they 'play well' in the i2c bus along with our lcd port expander chip, then we get to use *lots* of temperature sensors. haven't tried yet, but its on the to-do list