# File lib/facets/yore/builderobject.rb, line 141
  def method_missing(o, *a, &b)
    o = o.to_s

    if b
      @stack << @out
      @out = ''
      @instance_eval.call(&b)
      s = @out
      @out = @stack.pop
      a.unshift(s)
    end

    if o[0,1] == '_'
      m = o[1..-1].to_sym
      @out << @module.send(m, *a, &b).to_s
    else
      o = o.chomp('!') if o[-1,1] == '!'
      @out << @module.send(@constructor, o, *a).to_s
    end
  end