econjack:
Can you explain further why the setup() state can be delayed until loop() starts. You could use static data types within loop() and still encapsulate the data.
I don't understand this question - especially as you don't seem to be a newcomer.
setup() is a function that is run once when the Arduino starts and when it is finished the function loop() starts and is called repeatedly and indefinitely.
...R