added @Nullable annotations
checkstyle: allow class member names to start with _ (as a way to "hide" them from groovy metaprogramming)
make ConfigureDelegate more adaptable

- also switched from strategy to template method
- also prefixed class members with _ to reduce chance of collision with dynamic groovy invocation
first cut of a NamedDomainObjectContainer that allows to create elements by specifying name and (typically interface) type