Visitors and supporting classes for creating implementation objects from the definition objects