added basic structure to support multiple types of itkSpatialObjects