public function initialize()
 {
     $this->database = new Database();
     $this->utility = new Utility();
     $this->dispatcher = new Dispatcher();
     $this->authenticationManager = new AuthenticationManager();
     $this->mailer = new Mailer();
     $this->cache = new Cache();
     if ($this->utility->hasForwardedIp()) {
         $this->utility->correctRemoteAddr();
     }
     AuthenticationManager::startSession();
     AuthenticationManager::verifySession();
 }