ISIS-970: further tidy up and refinements to the new annotations and enums.  First-cut (untested) implementation of @DomainObject facet factory.