def define_attribute( name, contract, **options )
      attributes[name.to_sym] = Attribute.new name, contract, options
    end
def define_attribute( name, contract, **options )
      attributes[name.to_sym] = Attribute.new name, contract, options
    end
Define a single attribute with the given name that expects food that will
 satisfy the contract.
 @param [String] name of the attribute.
 @param [Class,Module,Symbol] contract that describes the desired behavior
   of the injected object.
 @return [Attribute] the attribute that was created.