createComponentClass interface simplified, FacetedObject allows adding facets to instances