/**
  * Static method to initialise the application
  * 
  * This method is called from {@link index.php} and inititalises the an application of
  * the class defined in {@link sys.config.php}. When developing an application with
  * RocketSled, you will usually override the Application class of an 'Application 
  * Level Package'. In order for that class to be used by RocketSled, you need to set
  * the required constant in {@link sys.config.php}, and then it will be returned by
  * {@link index.php}'s call to Application::appInit().
  *
  * The Application::appInit() function also calls several functions that setup the
  * application, which also give any overriding applications a good chance to do some
  * things they may required:
  * - {@link Application::systemSetup()}
  * - {@link Application::initUser()}
  * - {@link Application::siteNavigationInit()}
  *
  * @return Application - an initialised application class
  * @see Session,User,SiteNavigation,NavigationItem,sys.config.php
  * @access public
  * @static
  */
 public static function appInit()
 {
     Application::initSession();
     $app_class = constant('APPLICATION');
     self::$app = new $app_class();
     $ret = self::$app;
     $ret->systemSetup();
     $ret->initUser();
     $ret->siteNavigationInit();
     $ret->setRedirectionListener(Display::current(false));
     $ret->fetchRedirectedParameters();
     return $ret;
 }