I don't know exactly how I will work with the different proxy solutions.

The command to execute to reload config should always be the same:
- regenerating config from template
- reload the service

Only 3 arguments are required:
- configGeneratorPath or template file
- destination path
- reload command

I don't think that having different subobjects for the different solutions is required.
Just edit the config file.
No?

```
{
  "zookeeper": {
    "connectionString": "..."
  },
  "marathon": {
    "url": "..."
  },
  "proxy": {
    "generator/template": "...",
    "configFile": "...",
    "reloadCommand": "..."
  }
}
```