/**
  * @param       $name
  * @param array $properties
  *
  * @return mixed|string
  */
 public static function runSnippet($name, array $properties = array())
 {
     $output = '';
     $cacheable = true;
     if (strpos($name, '!') !== false) {
         $name = substr($name, 1);
         $cacheable = false;
     }
     if (self::$modx->getParser()) {
         /** @var modSnippet $snippet */
         $snippet = self::$modx->parser->getElement('modSnippet', $name);
         if ($snippet instanceof modSnippet) {
             $snippet->setCacheable($cacheable);
             $output = $snippet->process($properties);
         }
     }
     return $output;
 }