public function preRequest(SS_HTTPRequest $request, Session $session, DataModel $model)
 {
     // Ensures routes etc are setup
     // We need to inject the presented session temporarily, as there is no current controller set
     FluentSession::with_session($session, function () {
         Fluent::init();
     });
 }
 /**
  * Allows session to be temporarily injected into default_session prior to
  * the existence of a controller
  */
 public static function with_session(Session $session, $callback)
 {
     self::$old_session = self::$default_session;
     self::$default_session = $session;
     try {
         $callback();
     } catch (Exception $ex) {
         self::$default_session = self::$old_session;
         throw $ex;
     }
     self::$default_session = self::$old_session;
 }