code: public function run() : ApplicationInterface
      {
          try{
              // configure application
              $this->configure();
  
              // install required modules
              $this->install();
  
              // execute pipeline
              $response = $this->executePipeline($this->pipeline(), $this->request());
  
              // process response
              $this->responder()->respond($response);
  
              // callback application terminater function
              $this->onApplicationFinished();
  
              return $this;
          }
          catch(\Throwable $e)
          {
              throw new ApplicationExecutionException(__METHOD__ . ' failed: ' . $e->getMessage() , $e);
          }
      }
docs: execute application
  
  @return ApplicationInterface
  
  @throws ApplicationExecutionException