public static function keepSnapshot($description) {
		
		$app = Application::getInstance();
		$router = Router::getInstance();
		
		$snap = new self();
		
		$snap->createdTime	= new \DateTime();
		$snap->userId		= $app->currentUser->id;
		$snap->module		= $router->module;
		$snap->action		= $router->action;
		$snap->getData		= serialize($_GET);
		$snap->postData		= serialize($_POST);
		$snap->cookieData	= serialize($_COOKIE);
		$snap->description	= $description;
		$snap->userMessages	= serialize($app->messages);
		
		if (isset($_SERVER['HTTP_REFERER'])) {

			// removes application base url from referer
			if (0 === strpos($_SERVER['HTTP_REFERER'], BASE_HREF)) {
				$snap->referer = substr($_SERVER['HTTP_REFERER'], strlen(BASE_HREF));
			} else {
				$snap->referer = $_SERVER['HTTP_REFERER'];
			}
			
		}

		return $snap->create();
		
	}