def valid?
      validations = properties_instances.collect do |property_type|
        if property_type.property.respond_to?(:valid?)
          property_type.property.valid?
        else
          true
        end
      end

      validations.all?
    end
def valid?
      validations = properties_instances.collect do |property_type|
        if property_type.property.respond_to?(:valid?)
          property_type.property.valid?
        else
          true
        end
      end

      validations.all?
    end
Validate each property_type's property.

 If the property_type doesn't respond to valid?, then it means it must be a
 native type, or at least not something which inherits Ninetails::Property, so we will class it
 as valid blindly.