When to use init(), preprocess() and prerender()

In this thread, Craig suggests asking yourself the following questions:

  1. Do I need the results of this computation in order to process a form submit?
  2. Do I need the results of this computation in order to render the page?
    Then, based on your answers,