Current version uses a dictionary for datasource configuration and some classes for specific configurations (cache config and per-query config).
Default behavior is enough for basic access but we need to discuss how do we want it to look when specific cases appear. Is the current system a good policy? Do we want something more relaxed (i.e. dictionaries)? More restrictive (i.e. classes)? Parameter based (i.e. **kwargs)?