Description
1) Document and annotate @DomainObject, @ViewModel and @Mixin with @Scope(SCOPE_PROTOTYPE)
2) FactoryService#instantiate needs a semantic update
We want Spring to discover these types from the classpath (so that we can build the metamodel eagerly), but we don't want it to manage them, or do we?
Using @Scope(PROTOTYPE) is the closest we can come to expressing that without (attempting to) define a custom scope for each of these three types., analogous to factoryService#instantiate for transient objects.
In practical terms, inventing a custom "entity" scope is probably impossible due to DN's design (the enhancer creates a dnNewInstance method and this is called upon as a factory).
Instead, then, we "veto" any of these domain types so that Spring is NOT allowed to instantiate any of them.
The docs should be updated to explain what we're doing here.