public static function trigger($name, $silent=false) {
		$name = static::slug($name);
		$firstParam = null;
		if( !is_bool($silent) ) {
			$firstParam = $silent;
			$silent = false;// Default
		}
		if( empty(static::$hooks[$name]) ) {
			if( $silent ) { return; }
			throw new \Exception('No hook with this name');
		}
		$params = null;
		if( func_num_args() > 2 ) {
			$params = func_get_args();
			unset($params[0], $params[1]);
			if( isset($firstParam) ) {
				$params[0] = $firstParam;
			}
			$params = array_values($params);
		}
		return static::$hooks[$name]->triggerHook($params);
	}