func NewConcreteBuilder() ConcreteBuilder {
	return ConcreteBuilder{false}
}
NewConcreteBuilder returns a new Builder.
package creational
type Director struct {
	builder Builder
}
func NewDirector(builder Builder) Director {
	return Director{builder}
}
func (d *Director) Construct() {
	d.builder.Build()
}
type Builder interface {
	Build()
}
type ConcreteBuilder struct {
	built bool
}