added final and preconditions checknotnull to all constructors with @Inject, removed hardcoded @Named string falling back to classname..