Details
Description
Various changes to make for a nicer public API and better general tidiness, such as:
- ConfigSource and ContentSource interfaces with distinct convenience methods.
- Organize imports
- Use generics to avoid casting, where possible
- Introduce TreeDefinition base class so that ContentDefinition and ConfigDefinition can be distinct types (not one a subclass of the other)
- Don't use default methods on interfaces
- Remove interface methods that are too implementation-specific
- Use NodePath instead of String wherever possible
- etc....