最初の目標は、
mainの入り口で初期化処理、出口で終了処理。
メインの内側で、

   while(! 終了要求あり() ) {
       Request req = リクエスト受信();
       リクエストを処理(req);
   }

を行う。
WebもGUIもこんな感じだから、これができれば、ほとんどできたも同然。
mainを種にアスペクトを重ね、アプリケーションを大きく育てる。