This method `c.config.get('query.concepts.required', [])` is used here and throughout the code to retrieve the required concepts but I believe it will need to be expanded. [This comment](https://github.com/cbmi/cilantro/issues/313#issuecomment-34667148) shows the following(truncated for this comment):

```
// instance-level customizations
        instances: {
            10: {
                // denotes a valid context node must be defined
                // for the context to applied
                required: true | false,
                form: { ... } | Class
            }
        }
```

That section indicates that concepts can be required 2 different ways:
1. By specifying them in `c.config.get('query.concepts.required', [])`
2. By setting the `required` property to `true` in the `instances` section

If we allow method `2` above then the method used to retrieve the required concepts will need to be expanded from `c.config.get('query.concepts.required', [])` to one that also looks up required concepts in the `instances` section. So, there seems to be two approaches:
1. Only allow required concepts to be defined in `query.concepts.required` and keep this code as is
2. Allow for required concepts to be defined at the `instance` level and update the code that retrieves the required concepts to check both all the instances and `query.concepts.required` resulting in a union of the two defining the required concepts.