public static function requireView() : void
  {
    $medusa = new Medusa(self::$viewsEngine);

    $medusa->setCacheDirectory(self::$viewsCache);
    $medusa->setViewsDirectory(self::$viewsDirectory);
    $medusa->setViewsExtension(self::$viewsExtension);

    $medusa->register(Partial::class);
    $medusa->register(Using::class);
    $medusa->register(Csrf::class);
    $medusa->register(ConfigToJsonString::class);

    if (class_exists(DirectivesResolver::class)) {
      (new DirectivesResolver)->start([
        'view' => $medusa
      ]);
    }

    self::$viewComponent = $medusa;
  }