/**
  * Renders script and apply language file to it if that file exists
  * @param null $script_name - Script name to render
  * @throws GenericException - Throws if script name is not defined
  * @throws PropertyAlreadyExistsException - Throws if 'lang' property as already set
  */
 public function renderScript($script_name = null)
 {
     if ($this->templateName) {
         $template_name_to_render = $this->templateName;
     } else {
         if ($script_name) {
             $template_name_to_render = $script_name;
         } else {
             throw new GenericException('View template is not defined');
         }
     }
     $this->templateName = $template_name_to_render;
     $this->add('lang', Helpers::get_current_lang_script_translation($template_name_to_render));
     $this->viewRederer->renderScript($template_name_to_render, $this->getProperties());
 }