public static function pushEngine($name, $engine)
    {
        if (array_key_exists($name, static::$engines)) {
            return true;
        }

        if (!class_exists($engine)) {
            throw new ViewException($engine . ' does not exists.');
        }

        static::$engines[$name] = $engine;

        return true;
    }