- **breaking change**: when using the string range notation, both the left and right endpoints are now included. Previously the right endpoint was excluded
- `get_module_path` accepts a `skip_config_keys` argument containing config options that will not be included in the path
- ` ModuleBase.__init__` allows config to be passed as a string, which is then converted to a config dict
- ` ModuleBase.__init__` allows provide to be passed as a list, which is converted to a dict in which keys correspond to module types. This is convenient for handling the common collection and benchmark cases where the type and dependency name are the same
- ` ModuleBase.__init__` allows provide to be passed as a single module object, which is converted to a list (and then to a dict as above)