public static function getEmulatorInstance($scheme, $path, $context)
    {
        if (!isset(static::$emulators[$scheme])) {
            throw new \InvalidArgumentException('No emulator found for scheme \'' . $scheme . '\'');
        }
        $emulator = static::$emulators[$scheme];

        return new $emulator($path, $context);
    }