module Sus::It

def self.build(parent, description = nil, unique: true, &block)

def self.build(parent, description = nil, unique: true, &block)
	base = Class.new(parent)
	base.extend(It)
	base.description = description
	base.identity = Identity.nested(parent.identity, base.description, unique: unique)
	base.set_temporary_name("#{self}[#{description}]")
	
	if block_given?
		base.define_method(:call, &block)
	end
	
	return base
end