Large program management-stitching together functional code blocks?

generally, you create a big loop (ok it's already present@arduino sketches). Inside the big loop you do this

  1. read all the inputs lets say to variables, and then calculate what you are going to do / to change at the outputs and what to display
  2. write the display
  3. set the outputs

(then the loop starts again)

That's it already. If some output or display are not time critical, you can run counters and update them only every n loops.