Представьте, что вы хотите чтобы вашу утилиту можно было бы использовать как библиотеку в другом
приложении. Кроме этого ее можно было бы расширять. Например, добавлять поддержку других форматов.
При этом, естественно, не меняя исходники самой библиотеки. Тут вам поможет паттерн "Команда".

Реализуйте механизм добавления дополнительных форматов при использовании утилиты как библиотеки
и добавьте поддержку формата .json в виде модуля.

Пример json-файла:

```
{
  "name": "nerd-io",
  "version": "1.0",
  "aa": "bb",
  "depends": {
    "foo-lib": "2.4",
    "bar-lib": "1.5.2",
    "other-lib": "6.1"
  }
}
```
