Now that a lot of the architectural underpinnings are sorted out I think that the various of(Configured...) methods in Configured don't need to accept that initial Configured, provided that somewhere else there is documentation that indicates that when they return a Configured it is a new one parented by the one "hosting" the of() method.